NavTrail — Politică de Moderare a Conținutului

Ultima actualizare: 21.09.2026.

Acest document explică modul în care este moderat conținutul generat de utilizatori (UGC) în NavTrail. Documentul există pentru a documenta politica noastră publicată privind moderarea conținutului UGC și pentru a oferi utilizatorilor o imagine clară a ceea ce pot să se aștepte. O copie este găzduită public la https://navtrail.app/moderation-ro (alături de politica de confidențialitate).

Dacă ai o întrebare despre o decizie specifică de moderare sau dorești să raportezi conținut pe care fluxul din aplicație nu îl acoperă, trimite email la contact@navtrail.app.


1. Ce este conținutul generat de utilizator în NavTrail?

Următoarele zone de funcționalitate acceptă conținut de la utilizatori:

FuncțieCâmpuri text liberDurată de viață
POI-uri comunitare (campare, izvoare, puncte de belvedere, refugii, vulcanizări)nume (≤ 80 caractere), descriere (≤ 800 caractere)Permanent până când este raportat / șters de creator
Rapoarte de obstacole (copaci căzuți, alunecări, etc.)descriere (≤ 280 caractere, opțional)TTL 4 ore, apoi șters automat
Alerte SOSdescriere (≤ 280 caractere, opțional), contact_hint (≤ 80 caractere, opțional)TTL 24 ore, apoi rezolvat automat
Mesaje de convoi (Quick-Comms)presetări fixe sau text liber (≤ 80 caractere), trimise doar în interiorul unui convoi — un grup privat în care intri cu un cod primit directTemporare: afișate scurt pe hartă, niciodată stocate pe serverele noastre
Porecle convoiporeclă (≤ 8 caractere, vizibilă doar membrilor convoiului)48 de ore după ultima activitate
FotografiiO fotografie opțională pe un punct de interes creat de tine (1 per punct) și până la 2 fotografii pe un traseu salvat propriu. Descriere opțională (≤ 200 caractere).Până când este ștearsă de cel care a adăugat-o sau ascunsă în urma raportărilor
Trasee publicate („Trasee publice")numele traseului (≤ 120 caractere), descriere (≤ 800 caractere, opțională), un nivel de dificultate și traseul înregistrat în sine, exact așa cum a fost înregistratPână când creatorul retrage publicarea sau ascuns în urma raportărilor
Excursii din Parteneri de drum (panoul de excursii)titlu (≤ 80 caractere), descriere (≤ 600 caractere), mesajul unei cereri de a te alătura (≤ 300 caractere), până la 3 fotografii, un profil opțional al vehiculului (marcă și model ≤ 60 caractere, modificări ≤ 200 caractere, o fotografie). Datele de contact sunt respinse de server.Până când este ștearsă de autor sau eliminată de operator; o excursie încheiată părăsește panoul la 60 de zile după ultima ei zi
Conversații din Parteneri de drummesaje (≤ 1000 caractere) între autorul unei excursii și o persoană care a cerut să se alăture, deschise doar după ce autorul a răspuns; un număr de telefon pe care expeditorul alege să-l trimită; un cod de convoiDoar-citire la 30 de zile după excursie, șterse la 90 de zile după ea
Evaluări ale partenerilor1–5 stele, „ai călători din nou" da/nu, o notă privată opțională (≤ 300 caractere, citită doar de operator)Până la ștergerea contului
Nume utilizator (handle public)nume utilizator (3–20 caractere, litere/cifre/underscore; afișat pe POI-urile, obstacolele și alertele SOS create de tine în loc de un ID anonim)Permanent până la ștergerea contului

Restul (regiuni de hartă descărcate, intrări în calculatorul de presiune anvelope, etc.) este stocat doar pe dispozitivul utilizatorului. Traseele GPS salvate sunt copiate de rezervă privat, în contul propriu, și nu sunt vizibile nimănui — cu excepția cazului în care proprietarul publică explicit un traseu, actul deliberat, per traseu, care îl transformă în conținutul generat de utilizatori din tabelul de mai sus. Nimic nu este publicat vreodată automat.

Cine poate vedea o fotografie. O fotografie adăugată la un punct de interes este publică, pentru că punctele de interes sunt ele însele un strat comunitar partajat — oricine folosește NavTrail le poate vedea. O fotografie adăugată la unul dintre traseele tale salvate este privată cât timp traseul este privat: este salvată în contul tău și restaurată pe un dispozitiv nou, dar nu este inclusă atunci când partajezi traseul respectiv cu altcineva printr-un link. Dacă publici traseul în Trasee publice, fotografiile lui devin publice odată cu el — dialogul de publicare spune asta înainte să confirmi — și redevin private în momentul în care retragi publicarea.

Doar cel care a creat un punct de interes poate adăuga o fotografie la el și doar el o poate șterge. Regula este impusă pe server, nu doar ascunsă în aplicație.

Datele de localizare din fotografii. Fotografiile sunt re-encodate pe dispozitivul tău înainte de a fi stocate sau încărcate, ceea ce elimină metadatele fișierului original — inclusiv coordonatele GPS exacte pe care le înregistrează camera. Facem asta pentru ca publicarea unei fotografii să nu poată publica accidental locul în care locuiești.


2. Ce nu este permis


3. Cum funcționează moderarea

NavTrail folosește trei straturi complementare de moderare, susținute de un model de cont consolidat în v1.2: navigarea și postarea de POI-uri/obstacole sunt anonime implicit, dar un utilizator își poate crea un cont permanent, verificat prin email — iar trimiterea unui SOS necesită acum un astfel de cont. Deoarece este nevoie de un email verificat pentru a trimite un SOS, aplicarea la nivel de cont (inclusiv ștergerea contului celui care trimite alerte SOS false) este un factor de descurajare real, alături de controalele server-side de mai jos.

3.1 Filtru de limbaj injurios server-side (preventiv)

Fiecare nume/descriere de POI, descriere de obstacol și descriere/contact-hint de SOS trece printr-un filtru de listă de cuvinte server-side înainte de inserare. Filtrul folosește potrivire pe cuvânt întreg cu reducerea diacriticelor române (ă/â/î/ș/ț → a/a/i/s/t) pentru a prinde încercări comune de evitare. Conținutul care se potrivește cu lista de cuvinte este respins cu eroarea content_blocked_profanity; utilizatorul vede un mesaj localizat care îi cere să reformuleze.

Implementare: trigger-uri BEFORE INSERT pe pois, reports, sos_alerts în supabase/migrations/0010_ugc_moderation.sql.

Lista de cuvinte este intenționat îngustă (insulte severe + vulgarități comune, ~25 termeni în română și engleză). Preferăm să lăsăm conținut la limită să treacă; calea raportare-și-ascundere-automată de mai jos este a doua linie de apărare.

3.2 Acțiunea "Raportează conținutul" din aplicație (moderare comunitară)

Fiecare suprafață UGC are o acțiune "🚩 Raportează conținutul" vizibilă tuturor utilizatorilor cu excepția creatorului:

Rapoartele sunt imutabile și vizibile doar raportorului (un utilizator nu poate vedea cine altcineva a mai raportat un rând). Una raportare per utilizator per rând este impusă la nivelul bazei de date.

3.3 Trigger ascundere-automată / rezolvare-automată (≥ 3 raportori unici)

Când numărul de raportori distincți pentru un rând atinge 3:

Trigger-urile rulează ca funcții SECURITY DEFINER și marchează resolved_by_user_id = NULL astfel încât jurnalul de audit distinge rezolvarea-de-sistem de rezolvarea-umană.

Implementare: poi_auto_hide_on_reports, report_auto_resolve_on_reports, sos_auto_resolve_on_reports.

3.3.1 Fotografii

Descrierile fotografiilor trec prin același filtru server-side de cuvinte ca orice alt câmp de text liber. Imaginea în sine nu este inspectată automat. Preferăm să spunem asta direct, în loc să sugerăm o capacitate pe care nu o avem: niciun sistem automat nu analizează conținutul pozei.

Comunitatea este protejată printr-o combinație de măsuri:

3.4 Curățare pe bază de TTL (moderare pasivă)

Chiar și conținutul pe care nimeni nu îl raportează nu trăiește la nesfârșit:

Rândurile expirate / rezolvate sunt curățate de joburi pg_cron la fiecare 15 minute până la 1 oră, în funcție de tabel.


3.5 Blocarea altui utilizator

Orice utilizator poate bloca alt utilizator din aplicație. Blocarea ascunde tot ce a contribuit acea persoană — inclusiv conținutul postat înainte de blocare — din ce vezi tu: punctele lui de interes, fotografiile lui, traseele lui publicate și excursiile lui din Parteneri de drum, și închide orice conversație dintre voi de pe panoul de excursii, în ambele sensuri. Are efect imediat și se aplică oriunde ar apărea altfel acel conținut.

Blocarea este privată. Persoana blocată nu este anunțată și nimic nu se schimbă pentru ceilalți. Poți vedea pe cine ai blocat și îl poți debloca oricând din setările aplicației; deblocarea îi readuce conținutul în harta ta, pentru că nimic nu a fost șters.

3.6 Parteneri de drum: anunțuri și conversații

3.7 Comentarii, evaluări, insigne și urmărire

4. Moderare la nivel de operator

Pentru conținut care ocolește straturile automate (o singură postare foarte toxică care nu declanșează lista de cuvinte și nu este văzută de încă 3 utilizatori), operatorul (Constantin, contact@navtrail.app) își rezervă dreptul de a:

Fiecare raportare generează acum o notificare imediată către operator, iar toate raportările — pentru puncte de interes, fotografii, obstacole și alerte SOS — sunt adunate într-o singură listă de revizuire care arată ce a fost raportat, de ce, câte persoane au raportat, dacă a fost deja ascuns automat și unde se află. Operatorul revizuiește această listă și poate ascunde sau restaura din ea orice element raportat.

Aceste acțiuni sunt luate ca răspuns la raportările din aplicație, la rapoarte prin email la contact@navtrail.app sau prin observare proactivă de către operator. Acțiunile operatorului sunt înregistrate dar nu sunt vizibile public.


5. Drepturile utilizatorului

Tu poți:


6. Raportarea conținutului care a ocolit fluxul automat

Dacă găsești conținut abuziv care nu a fost ascuns automat de acțiunea de raportare din aplicație:

  1. Încearcă mai întâi butonul "🚩 Raportează conținutul" din aplicație — este calea cea mai rapidă și declanșează moderarea imediată odată ce 3 utilizatori sunt de acord.
  2. Dacă conținutul este sever (amenințări, divulgare de date personale, conținut sexual explicit care implică minori, etc.) trimite email la contact@navtrail.app direct, cu un screenshot. Ne angajăm la primul răspuns în 48 de ore și la eliminarea conținutului care încalcă clar regulile în 7 zile.
  3. Pentru conținut ilegal (CSAM, amenințări directe cu violență), raportează la autoritățile române (112 pentru urgențe, +40 21 208 25 25 pentru Inspectoratul General al Poliției Române) în paralel cu notificarea către noi.

7. Actualizări ale acestei politici

Această politică se poate modifica pe măsură ce aplicația crește. Modificările materiale vor fi anunțate în notele de versiune ale aplicației și reflectate în data "ultima actualizare" de la începutul acestui document. Versiunea curentă trăiește mereu la https://navtrail.app/moderation-ro.