Sigurnost

Teleoperiranje fizičkog robota putem interneta zahtijeva više od obrasca za prijavu. Ova stranica opisuje kako funkcioniraju autentifikacija i uloge, kako treba postupati s API ključevima, koji zaštitni mehanizmi štite upravljanje uživo, što bilježi revizijski zapisnik i kako prijaviti ranjivost.

Zadnje ažurirano 2026-08-09

Autentifikacija

Računima upravlja Supabase Auth putem e-maila i lozinke, Google OAuth-a ili GitHub OAuth-a. Nakon prijave, vaš preglednik drži token sesije (JWT) koji middleware platforme automatski obnavlja, pa aktivna sesija tiho ne istječe usred rada.

API prihvaća taj token sesije u dva oblika: kao kolačić sesije koji nadzorna ploča i inače šalje, ili kao Authorization Bearer zaglavlje. Programski pristup bez prijave preglednikom umjesto toga koristi API ključeve, opisane niže. Krajnje točke odbijaju zahtjeve bez valjane vjerodajnice; rade samo izričito javne rute, poput provjere zdravlja i kontakt obrasca, bez autentifikacije.

Uloge i dozvole

Svaki račun ima točno jednu ulogu: CLIENT, OPERATOR ili ADMIN. Klijenti posjeduju robote i plaćaju za sesije, operateri upravljaju robotima i zarađuju od sesija, a administratori vode platformu. Između klijenta i operatera birate tijekom onboardinga; ulogu admina dodjeljuju administratori platforme i ne može se sama odabrati.

MogućnostCLIENTOPERATORADMIN
Registracija i upravljanje robotimaDaNeDa
Pokretanje i vođenje sesija teleoperacijeNeDaDa
Pregled sesijaNa vlastitim robotimaVlastite sesijeSve
Datasetovi i izvoziDaNeSve
Naplata, računi, načini plaćanjaDaNeSve
Zarada i isplateNeDaSve
Odobravanje certifikacijaNeSamo zahtjevDa
Rješavanje sporovaSamo prijavaNeDa

Provjere uloga odvijaju se na strani servera za svaki zahtjev, ne u sučelju. Ispod API-ja, pristup bazi podataka dodatno je ograničen politikama sigurnosti na razini retka, pa čak ni greška u krajnjoj točki ne pretvara se u slobodan pristup redovima drugih računa.

API ključevi

API ključevi omogućuju skriptama i serverima pristup bez prijave preglednikom. Izrađujete ih i opozivate u /dashboard/settings; ključevi nose prefiks ayr_live_ i šalju se kao Authorization Bearer zaglavlje. Ključ djeluje s ulogom i dozvolama računa koji ga je stvorio, pa je procurjeli ključ jednako loš kao procurjela lozinka.

  • Držite ključeve na strani servera. Ne pripadaju klijentskom JavaScriptu, mobilnim aplikacijama ni javnim repozitorijima.
  • Koristite jedan ključ po integraciji. Kad nešto procuri, želite opozvati jednog potrošača, ne sve njih.
  • Rotirajte bez zastoja: prvo izradite zamjenski ključ, primijenite ga, zatim opozovite stari ključ u /dashboard/settings.
  • Opozovite odmah kod bilo kakve sumnje. Izrada novog ključa traje sekunde; napadač s valjanim ključem može učiniti sve što i vaš račun.

Zaštitni mehanizmi tijekom upravljanja uživo

Upravljanje uživo vezano je uz zakup sesije. Robot prihvaća naredbe samo dok je u točno jednoj ACTIVE sesiji, i samo od operatera koji drži tu sesiju; sam robot za sve ostale označen je kao IN_SESSION. Operater može držati najviše jednu ACTIVE ili PAUSED sesiju odjednom, čime se isključuje da jedna osoba nominalno upravlja s dvije ruke istovremeno.

Kokpit pruža hitno zaustavljanje koje odmah zaustavlja ruku, a pauziranje ili završavanje sesije u cijelosti zaustavlja tijek naredbi. Uz to, platforma nadzire aktivnost operatera: nakon razdoblja bez unosa šalje se upozorenje o neaktivnosti, a ako operater ostane neaktivan, sesija se automatski zaustavlja. To štiti obje strane, klijenta od plaćanja besposlenog vremena i robota od stajanja u nekontroliranom stanju s aktivnim zakupom.

Revizijski zapisnik

Svaka sesija čuva zapisnik događaja: početak i kraj, pauze i nastavke, provjere aktivnosti, upozorenja o neaktivnosti, promjene operatera, zahtjeve za produljenje i greške, svaki s vremenskom oznakom. Kad se spor pregledava, ovaj zapisnik događaja glavni je dokaz, što je još jedan razlog zašto ga platforma piše automatski umjesto oslanjanja na nečije pamćenje.

Osim sesija, značajne radnje na platformi bilježe se u revizijski zapisnik s id-om korisnika koji je djelovao, radnjom, pogođenim resursom i metapodacima. Promjene profila, transakcije relevantne za plaćanje i administratorske radnje sve ostavljaju zapise. Revizijske zapise piše platforma i nisu izmjenjivi kroz bilo koje korisničko sučelje.

Enkripcija i zaštita podataka

Sav promet prema i od platforme enkriptiran je tijekom prijenosa TLS-om, uključujući video streamove i upravljačke signale. Na razini podataka, politike sigurnosti na razini retka ograničavaju pristup bazi podataka po računu. Podaci o plaćanju najjasnija su granica od svih: kartice i bankovni podaci obrađuju se isključivo kod Stripea i nikad ne dotiču servere AY-Robots.

Prijava ranjivosti

Ako pronađete sigurnosni problem, prijavite ga odgovorno kroz stranicu /security ili obrazac /contact koristeći kategoriju Bug Report. Uključite što ste pronašli, gdje i kako to reproducirati; ne pristupajte podacima drugih korisnika izvan minimuma potrebnog za demonstraciju problema, i ne objavljujte detalje prije nego što smo imali razumnu priliku to popraviti. Čitamo svaku prijavu.

Često postavljana pitanja

Može li operater vidjeti moje podatke o naplati?

Ne. Naplata, računi i načini plaćanja mogućnosti su vezane uz ulogu klijenta. Operater u sesiji na vašem robotu vidi kontekst sesije, ne vaš račun ili podatke o plaćanju.

Što se događa s robotom ako mi tijekom sesije padne veza?

Tijek naredbi zaustavlja se s vezom, a zaštitni mehanizam neaktivnosti preuzima: nakon razdoblja upozorenja bez unosa, sesija se automatski zaustavlja. Klijent se ne naplaćuje za besposleni rep vremena nakon tog zaustavljanja.

Kako sigurno rotiram API ključ?

Izradite novi ključ u /dashboard/settings, prebacite svoju integraciju na njega, provjerite radi li, zatim opozovite stari ključ. Radeći to tim redoslijedom postižete nulti zastoj i nikad nema razdoblja bez valjanog ključa.

Jesu li moji podaci o plaćanju pohranjeni na serverima AY-Robots?

Ne. Kartice i bankovni podaci idu izravno Stripeu. Platforma pohranjuje samo reference na Stripe objekte, nikad temeljne podatke o plaćanju.