EN NO

Sikkerhet, personvern, og å få dataene sine ut igjen

Et skipsadministrasjonssystem holder personopplysninger om sjøfolk, helseopplysninger, og dokumenter en stat kan straffeforfølge noen for. Denne siden sier rett ut hvordan hver av delene håndteres.

Tilgang

Å logge inn, og å forbli innlogget til sjøs

Passord hashes med Argon2. Tilgangstokener er kortlevde og signerte; fornyelsestokener er bundet til enheten som hentet dem og lagret i databasen, slik at en omstart av serveren ikke logger ut hver enhet i en flåte — inkludert skip uten samband å logge inn over igjen.

Om bord låses en enhet som allerede er innlogget, opp med PIN i stedet for full innlogging — fordi full innlogging krever en server, og hele poenget er at det kanskje ikke finnes noen.

  • Begrenset antall forsøk, strengest på innlogging. Den dyre forespørselen og den angrepne får et strammere tak enn resten.
  • Selvbetjent passordgjenoppretting. En tilbakestillingslenke kan brukes én gang, utløper etter tretti minutter og er begrenset til tre i timen per konto. Svaret på en glemt-passord-forespørsel er identisk enten adressen finnes eller ikke.
  • Et midlertidig passord utleveres én gang. En administrator som tilbakestiller noens passord, ser det én gang, og kontoen tvinges til å bytte ved første bruk.

Personopplysninger

Hva som lagres, og hvor lite det er

Produktet lagrer det en stilling og en nødssituasjon krever: hvem noen er, hvilken stilling de har, når de er om bord, hvilke sertifikater de innehar, og hvordan man når nærmeste pårørende. Alt mer følsomt enn det — helseopplysninger, behandlinger med narkotiske legemidler — ligger bak sin egen smale tilgang i stedet for å være synlig for enhver med en offisersrolle.

Det finnes ingen tilgang noe sted i produktet, på noe nivå, som gir lesetilgang til en annen persons meldinger. Norsk arbeidsrett begrenser arbeidsgivers innsyn i en ansatts elektroniske kommunikasjon, og i stedet for å bygge en funksjon vi ville måttet nekte å bruke, bygget vi den ikke. En test slår fast at den ikke finnes.

Sletting

Konflikten mellom artikkel 17 og en lovpålagt dagbok

En sjømann som slutter i et rederi, har rett til sletting. Et skip har rettslig plikt til å oppbevare hviletidsregistreringer, oljedagboken og øvelsesregistreringer i årevis. De to tingene står i reell konflikt, og en leverandør som sier noe annet, har ikke lest den ene av dem.

Slik løses det her: å slette en person anonymiserer personen — navn, fødselsdato, adresse, kontaktopplysninger, bilde, signatur — og sletter den følsomme posten helt, mens de lovpålagte føringene beholder en referanse uten navn. Dokumentasjonen på at en hvileperiode ble arbeidet, overlever; navnet knyttet til den gjør ikke det.

En person som fortsatt er om bord, kan ikke slettes, fordi besetningslisten er et levende sikkerhetsdokument. Den nektingen er uttrykkelig og oppgir grunnen sin.

Oppbevaringstidene vi bruker, og begrunnelsen etter artikkel 17 nr. 3 bokstav b for hver av dem, er skrevet ned i kodebasen i stedet for å være et avsnitt i en kontrakt.

Dine data

Eksport, og retten til å dra

Et rederi kan eksportere alt det har: hver tabell, hver rad, i maskinlesbar form, uten å spørre oss og uten gebyr. Hemmeligheter eksporteres aldri — ingen passordhasher, ingen PIN-verifikatorer, ingen tokener — fordi en eksport er en kopi av registreringene dine, ikke en kopi av låsene.

Dette finnes fordi en kunde som ikke kan dra, har sluttet å bli spurt om produktet er noe godt, og vi vil heller fortsette å bli spurt.

Drift

Drift, sikkerhetskopi, og en gjenoppretting noen faktisk har kjørt

Driftet i EØS. Nøkkelen til AIS-leverandøren leses fra miljøet, lagres aldri i databasen, logges aldri og returneres aldri til en nettleser.

Sikkerhetskopier tas og — viktigere — gjenopprettes. Det ligger et gjenopprettingsskript i kodebasen som tar en sikkerhetskopi, bygger en database av den, teller tabellene, teller brukerne, teller revisjonspostene, starter API-et mot den og logger inn. En sikkerhetskopi ingen har gjenopprettet, er et håp.

  • Tre statusendepunkter, for tre spørsmål. Ett for om prosessen er verdt å beholde, ett for om trafikk bør sendes hit, ett for et menneske på telefonen. Det er ulike spørsmål, og ett endepunkt kan ikke tjene alle tre.
  • Hver nekting har en forespørsels-id. Også en 404. At et menneske leser én streng fra skjermen sin, er nok til at vi finner hva som skjedde.
  • Et utløpt abonnement stopper aldri et skip fra å føre. Hviletid, oljedagbok, øvelser, arbeidstillatelser, avvik, sjekklister og all lesing fortsetter å virke. Det som stopper, er å legge til enda et fartøy eller enda en konto. Å sette en kunde i strid med regelverket, til sjøs, over en faktura er ikke kommersielt press.