Fluera

Arkitektur

Slik beskytter Fluera notatboken din.

Denne siden beskriver sikkerhetsmodellen på det nivået en teknisk leser — sikkerhetsansvarlig, CISO på et universitet, nysgjerrig utvikler — forventer. For det ikke-tekniske sammendraget, start på /no/security.

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 kryptert i transitt og i ro på EU-infrastruktur. Skysynkronisering er ikke ende-til-ende-kryptert: Fluera kan, som dataansvarlig, få tilgang til det synkroniserte innholdet, men selger det aldri og bruker det aldri til annonsering.
  • 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

All nettverkstrafikk går over TLS 1.3 med moderne cipher suites.

Synkronisering mellom enheter: EU-hostet, kryptert i transitt og i ro

Skysynkronisering, når aktivert, lagrer notatbøkene dine på Supabase i EU (region eu-north-1). Dataene er kryptert i transitt (TLS) og i ro på infrastrukturnivå, men synkronisering er ikke ende-til-ende-kryptert: serveren lagrer ikke chiffertekst som bare enheten din kan låse opp. Som dataansvarlig kan Fluera teknisk få tilgang til det synkroniserte innholdet — vi selger det aldri og bruker det aldri til annonsering. Synkronisering er opt-in per notatbok — du kan beholde enkelte notatbøker kun lokalt mens du synker andre.

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-modeller (Socratic Mode, Ghost Map, LaTeX OCR, Exam Session) betjenes via Google Vertex AI og behandles i EU (europe-west4 NL / europe-west1 BE). De går gjennom en proxy 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 lorenco@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 lorenco@fluera.dev.