Securitate
Teleoperarea unui robot fizic prin internet necesită mai mult decât un formular de autentificare. Această pagină descrie cum funcționează autentificarea și rolurile, cum ar trebui gestionate cheile API, ce mecanisme protejează controlul live, ce înregistrează audit trail-ul și cum se raportează o vulnerabilitate.
Ultima actualizare 2026-08-09
Autentificare
Conturile sunt gestionate de Supabase Auth, cu e-mail și parolă, Google OAuth sau GitHub OAuth. După autentificare, browserul dumneavoastră deține un token de sesiune (un JWT), care este reînnoit automat de middleware-ul platformei, astfel încât o sesiune activă nu expiră silențios în mijlocul lucrului.
API-ul acceptă acest token de sesiune sub două forme: fie ca cookie de sesiune, pe care panoul de control îl trimite oricum, fie ca header Authorization Bearer. Accesul programatic fără autentificare prin browser folosește în schimb chei API, descrise mai jos. Endpoint-urile resping cererile fără un credențial valid; doar rutele explicit publice, precum verificarea de stare și formularul de contact, funcționează fără autentificare.
Roluri și permisiuni
Fiecare cont are exact un rol: CLIENT, OPERATOR sau ADMIN. Clienții dețin roboți și plătesc pentru sesiuni, operatorii controlează roboți și câștigă din sesiuni, iar administratorii gestionează platforma. Alegeți între client și operator în timpul onboardingului; rolul de admin este atribuit de administratorii platformei și nu poate fi ales de dumneavoastră.
| Capacitate | CLIENT | OPERATOR | ADMIN |
|---|---|---|---|
| Înregistrarea și gestionarea roboților | Da | Nu | Da |
| Pornirea și derularea sesiunilor de teleoperare | Nu | Da | Da |
| Vizualizarea sesiunilor | Pe roboții proprii | Sesiunile proprii | Toate |
| Seturi de date și exporturi | Da | Nu | Toate |
| Facturare, facturi, metode de plată | Da | Nu | Toate |
| Câștiguri și plăți | Nu | Da | Toate |
| Aprobarea certificărilor | Nu | Doar solicitare | Da |
| Rezolvarea disputelor | Doar depunere | Nu | Da |
Verificările de rol au loc pe partea de server la fiecare cerere, nu în interfață. Sub API, accesul la baza de date este suplimentar restricționat prin politici row-level security, astfel încât nici măcar o eroare într-un endpoint nu se transformă în acces liber la rândurile altor conturi.
Chei API
Cheile API oferă scripturilor și serverelor acces fără autentificare prin browser. Le creați și le revocați în /dashboard/settings; cheile poartă prefixul ayr_live_ și sunt trimise ca header Authorization Bearer. O cheie acționează cu rolul și permisiunile contului care a creat-o, deci o cheie scursă este exact la fel de rea ca o parolă scursă.
- Păstrați cheile pe partea de server. Nu au ce căuta în JavaScript pe partea de client, aplicații mobile sau repozitorii publice.
- Folosiți câte o cheie per integrare. Dacă ceva se scurge, vreți să revocați un singur consumator, nu pe toți.
- Rotiți fără întrerupere: creați mai întâi cheia de înlocuire, implementați-o, apoi revocați cheia veche în /dashboard/settings.
- Revocați imediat la orice suspiciune. Crearea unei chei noi durează câteva secunde; un atacator cu o cheie validă poate face tot ce poate face contul dumneavoastră.
Protecția în timpul controlului live
Controlul live este legat de un lease de sesiune. Un robot acceptă comenzi doar cât timp se află în exact o sesiune ACTIVE, și doar de la operatorul care deține acea sesiune; pentru toți ceilalți, robotul este marcat IN_SESSION. Un operator poate deține cel mult o sesiune ACTIVE sau PAUSED la un moment dat, ceea ce exclude posibilitatea ca o persoană să controleze nominal două brațe simultan.
Cockpitul oferă o oprire de urgență care oprește imediat brațul, iar punerea pe pauză sau încheierea sesiunii oprește fluxul de comenzi în ansamblu. Pe lângă asta, platforma monitorizează activitatea operatorului: după o perioadă fără intrare, se trimite un avertisment de inactivitate, iar dacă operatorul rămâne inactiv, sesiunea se oprește automat. Aceasta protejează ambele părți: clientul de plata timpului inactiv, iar robotul de a rămâne cu un lease activ într-o stare necontrolată.
Audit trail
Fiecare sesiune păstrează un jurnal de evenimente: început și sfârșit, pauze și reluări, verificări de activitate, avertismente de inactivitate, schimbări de operator, cereri de prelungire și erori, fiecare cu marcaj temporal. Când este analizată o dispută, acest jurnal de evenimente este dovada principală, un motiv în plus pentru care platforma îl scrie automat, în loc să se bazeze pe memoria cuiva.
Dincolo de sesiuni, acțiunile semnificative ale platformei sunt înregistrate într-un jurnal de audit, cu id-ul utilizatorului care acționează, acțiunea, resursa afectată și metadatele. Schimbările de profil, tranzacțiile relevante pentru plăți și acțiunile de admin lasă toate înregistrări. Înregistrările de audit sunt scrise de platformă și nu pot fi editate prin nicio interfață orientată către utilizator.
Criptare și protecția datelor
Tot traficul către și de la platformă este criptat în tranzit cu TLS, inclusiv fluxurile video și semnalele de control. La nivelul de date, politicile row-level security restricționează accesul la baza de date per cont. Datele de plată reprezintă cea mai clară graniță dintre toate: cardurile și datele bancare sunt gestionate exclusiv de Stripe și nu ating niciodată serverele AY-Robots.
Raportarea unei vulnerabilități
Dacă găsiți o problemă de securitate, raportați-o responsabil prin pagina /security sau formularul de la /contact, folosind categoria Bug Report. Includeți ce ați găsit, unde și cum se reproduce; nu accesați date ale altor utilizatori dincolo de minimul necesar pentru a demonstra problema și nu publicați detalii înainte de a ne oferi o șansă rezonabilă să o remediem. Citim fiecare raport.
Întrebări frecvente
Poate un operator să îmi vadă datele de facturare?▾
Nu. Facturarea, facturile și metodele de plată sunt capacități ale rolului de client. Un operator aflat într-o sesiune pe robotul dumneavoastră vede contextul sesiunii, nu contul sau datele dumneavoastră de plată.
Ce se întâmplă cu robotul dacă mi se întrerupe conexiunea în mijlocul unei sesiuni?▾
Fluxul de comenzi se oprește odată cu conexiunea, iar protecția la inactivitate preia controlul: după o perioadă de avertizare fără intrare, sesiunea se oprește automat. Segmentul inactiv de după această oprire nu este facturat clientului.
Cum rotesc în siguranță o cheie API?▾
Creați noua cheie în /dashboard/settings, comutați integrarea pe ea, verificați că funcționează, apoi revocați cheia veche. Procedând în această ordine, nu există nicio întrerupere și nicio fereastră în care să nu existe o cheie validă.
Sunt datele mele de plată stocate pe serverele AY-Robots?▾
Nu. Cardurile și datele bancare merg direct la Stripe. Platforma stochează doar referințe către obiectele Stripe, niciodată datele de plată propriu-zise.
Referință API REST pentru AY-Robots: autentificare cu tokenuri de sesiune și chei API, plus fiecare endpoint pentru roboți, sesiuni și plăți.
Răspunsuri la întrebările frecvente despre AY-Robots: prețuri, roboți suportați, cum devii operator, proprietatea datelor și plățile lor rapide.