Trusselmodell
Vi antar tyveri av enheten, avskjæring i nettverket og utilsiktet eksponering via backup eller skysynkronisering. Vi antar at brukerens innloggingsinformasjon kan kompromitteres. Vi antar ikke statlige aktører med fysisk tilgang til ulåste enheter — Fluera er ikke et hemmelighetsverktøy, det er et læringsverktøy.
Innenfor denne modellen gir vi tre garantier:
- Lokale data er uleselige uten nøkkelen. En stjålet enhet produserer en kryptert blob.
- Synkroniserte data er uleselige for oss. Skyen lagrer kun chiffertekst. Avledningen skjer på enheten.
- Telemetri er samtykkebasert og avidentifisert. Analytikken kan ikke knytte en bruker til innholdet, ikke engang ved et fullstendig brudd.
I ro: SQLCipher, AES-256
Hver notatbok i Fluera bor i en lokal, SQLCipher-kryptert SQLite-database — en bredt auditert utvidelse som transparent krypterer hver side av databasen med AES-256-CBC og kontrollerer integriteten per side med HMAC-SHA512.
Nøkkelavledningen bruker PBKDF2 med SHA-256 og 256 000 iterasjoner (i tråd med OWASP). Passfrasen oppbevares i plattformens keychain — Keychain på iOS/macOS, Keystore på Android, DPAPI på Windows, libsecret på Linux. Den sendes aldri til våre servere.
I transitt: TLS 1.3, certificate pinning
All nettverkstrafikk går over TLS 1.3 med moderne cipher suites. På iOS og Android pinner vi sertifikatene til vår CA-kjede for å hindre man-in-the-middle gjennom bedriftsproxyer — med dokumentert override for nettverksadministratorer som trenger det.
Synkronisering mellom enheter: ende-til-ende
Skysynkronisering, når aktivert, bruker et separat sett med nøkler avledet på enheten. Synkserveren (Supabase Storage, region EU) lagrer chiffertekst og kan ikke dekryptere. Synkronisering er opt-in per notatbok — du kan beholde enkelte notatbøker kun lokalt mens du synker andre.
Nøkkelrotasjon: når den startes fra en hvilken som helst enhet, krypterer den alle framtidige nyttelaster med en ny nøkkel. Gamle chiffertekster forblir lesbare for eldre klienter inntil du bekrefter migrasjonen på alle enheter.
P2P-samarbeid: direkte, kryptert
Sanntidssamarbeid bruker WebRTC DataChannel med DTLS-SRTP-kryptering. Supabase Realtime fungerer kun som signaling-broker — forbindelsesoppretting — ikke som relay for selve canvas-trafikken. Etter handshake flyter canvas-redigeringene peer-to-peer. Serveren ser dem ikke.
Ved restriktive NAT-er går trafikken via TURN; i det tilfellet ser relayet bare krypterte DTLS-pakker som det ikke kan dekryptere.
KI-kall: via proxy, aldri direkte
Kallene til Google Gemini (Socratic Mode, Ghost Map, LaTeX OCR, Exam Session) går gjennom en Supabase Edge Function som holder API-nøkkelen på serveren. Klientenhetene ser aldri nøkkelen. Proxyen håndhever ratebegrensning per plan og logger varigheten på kallene for fakturering — aldri canvas-innholdet.
Hvis du deaktiverer KI-funksjonene under Innstillinger → Personvern, sendes ikke noe canvas-innhold til Gemini, heller ikke som fallback for on-device OCR.
Telemetri: opt-in, hashet, allowlistet
Produktanalytikken er deaktivert som standard. Når aktivert, er hendelsene begrenset til en serverside-whitelist (øktstart/-slutt, kall av en funksjon, varighet på et KI-kall — aldri innhold). Bruker-ID-en hashes på enheten med SHA-256; klartekst-ID-en forlater aldri klienten. Hendelsene oppbevares i 180 dager og aggregeres eller slettes etterpå.
Audit-spor (institusjonelle kontoer)
All tilgang til delte notatbøker — hvem, fra hvilken enhet, når — skrives til et append-only audit-spor. Administratorer kan eksportere sporet som CSV eller JSON for compliance-kontroller. Sporet er write-once: fjerning krever en dokumentert begrunnelse og logges selv.
Gjenoppretting og nøkkeltap
Hvis du mister passfrasen, blir de krypterte dataene ugjenopprettelige. Det er bevisst — alternativet ville være en gjenopprettingssti som nødvendigvis svekker krypteringsmodellen. For institusjonelle kontoer kan en valgfri, administrator-forvaltet gjenopprettingsnøkkel konfigureres; det er en dokumentert avveining som institusjonen velger bevisst.
Responsible disclosure
Sikkerhetsforskere er velkomne. Rapporter sårbarheter til security@fluera.dev med PGP-kryptering (nøkkel publisert på GitHub-profilen). Vi svarer innen 24 timer, patcher kritiske problemer innen 72, og navngir varslerne i en Hall of Fame med mindre anonymitet ønskes.
Scope: Fluera-appen (alle plattformer), synkroniseringstjenesten, KI-proxyen og denne markedsføringsnettsiden. Utenfor scope: tredjeparter (Supabase, Google, Apple, Sentry, RevenueCat) — rapporter dem til de respektive leverandørene.
Eksterne audits
Fluera har for tiden verken SOC-2- eller ISO-27001-sertifiseringer. De ligger på enterprise-roadmapen og vil kunngjøres offentlig når de er fullført. Vi foretrekker å ikke deklarere kontroller vi ikke kan verifisere uavhengig.
Underleverandør-listen er offentlig og oppdatert. Databehandleravtalen er tilgjengelig på forespørsel til privacy@fluera.dev.