Hotmodell
Vi antar stöld av enheten, nätverksavlyssning och oavsiktlig exponering via backup eller molnsynk. Vi antar att användarens autentiseringsuppgifter kan komprometteras. Vi antar inte statliga motståndare med fysisk åtkomst till olåsta enheter — Fluera är inget hemlighetsverktyg, det är ett studieverktyg.
Inom den modellen, tre garantier:
- Lokal data är oläsbar utan nyckeln. En stulen enhet producerar en krypterad blob.
- Synkroniserad data är oläsbar för oss. Molnet lagrar bara ciphertext. Härledningen sker på enheten.
- Telemetri är samtyckesbaserad och avidentifierad. Analyserna kan inte koppla en användare till hennes innehåll ens vid ett fullständigt intrång.
I vila: SQLCipher, AES-256
Varje anteckningsbok i Fluera lever i en lokal SQLite-databas krypterad med SQLCipher — en brett auditerad utökning som transparent krypterar varje sida i databasen med AES-256-CBC och integritetskontroll via HMAC-SHA512 per sida.
Nyckelhärledning använder PBKDF2 med SHA-256, 256 000 iterationer (i linje med OWASP). Lösenfrasen lagras i plattformens keychain — Keychain på iOS/macOS, Keystore på Android, DPAPI på Windows, libsecret på Linux. Den skickas aldrig till våra servrar.
I transit: TLS 1.3, certificate pinning
All nätverkstrafik är TLS 1.3 med moderna chiffer. På iOS och Android pinnar vi certifikat mot vår CA-kedja för att förhindra man-in-the-middle från företagsproxyer — med en dokumenterad override för nätverksadministratörer som behöver det.
Synk mellan enheter: ände till ände
Molnsynk, när den är aktiverad, använder en separat uppsättning nycklar härledda på enheten. Synkservern (Supabase Storage, EU-region) lagrar ciphertext och kan inte dekryptera. Synk är opt-in per anteckningsbok — du kan hålla vissa enbart lokalt medan andra synkas.
Nyckelrotation: att starta den från valfri enhet omkrypterar alla framtida payloads med en ny nyckel. Gammal ciphertext förblir läsbar för äldre klienter tills du bekräftat migrationen på alla enheter.
P2P-samarbete: direkt, krypterat
Realtidssamarbete använder WebRTC DataChannel med DTLS-SRTP-kryptering. Supabase Realtime fungerar enbart som signaleringsmäklare — uppsättning av anslutningen — inte som relay för den faktiska canvas-trafiken. Efter handskakningen flödar canvas-redigeringar peer-to-peer. Servern ser dem inte.
Vid restriktiva NAT:er går trafiken via TURN, i vilket fall reläet bara ser krypterade DTLS-paket som det inte kan dekryptera.
AI-anrop: via proxy, aldrig direkt
Anrop till Google Gemini (Socratic Mode, Ghost Map, LaTeX OCR, Exam Session) går via en Supabase Edge Function som håller API-nyckeln på servern. Klientenheterna ser aldrig nyckeln. Proxyn tillämpar rate limit per plan och loggar anropsdurationer för bokföring — aldrig canvas-innehållet.
Om du stänger av AI-funktionerna i Inställningar → Integritet skickas inget canvas-innehåll till Gemini, inte ens som fallback för OCR på enheten.
Telemetri: opt-in, hashad, allowlistad
Produktanalys är avstängd som standard. När den är på är händelserna begränsade till en whitelist på servern (sessionsstart/-slut, funktionsanrop, AI-anropsduration — aldrig innehåll). Användar-ID:t hashas med SHA-256 på enheten; ID:t i klartext lämnar aldrig klienten. Händelser sparas i 180 dagar och aggregeras eller raderas sedan.
Revisionsspår (Institutional-konton)
Varje åtkomst till delade anteckningsböcker — vem, från vilken enhet, när — skrivs till ett append-only-revisionsspår. Administratörer kan exportera spåret som CSV eller JSON för compliance-kontroller. Spåret är write-once: borttagning kräver en dokumenterad motivering och loggas i sin tur.
Recovery och nyckelförlust
Om du tappar lösenfrasen blir den krypterade datan oåterkallelig. Det är avsiktligt — alternativet vore en återställningsväg som med nödvändighet skulle försvaga krypteringsmodellen. För Institutional-konton är det möjligt att konfigurera en valfri recovery-nyckel som hålls av administratören; det är en dokumenterad trade-off där institutionen väljer medvetet.
Responsible disclosure
Säkerhetsforskare är välkomna. Rapportera sårbarheter till security@fluera.dev med PGP-kryptering (nyckel publicerad i GitHub-profilen). Vi svarar inom 24 timmar, patchar kritiska problem inom 72 och krediterar rapportören i hall of fame om inte anonymitet begärs.
Omfattning: Fluera-appen (alla plattformar), synktjänsten, AI-proxyn och den här marknadssajten. Utanför omfattning: tredjepartstjänster (Supabase, Google, Apple, Sentry, RevenueCat) — rapportera till respektive leverantör.
Externa granskningar
Fluera har för närvarande varken SOC 2- eller ISO 27001-certifiering. De ligger på enterprise-roadmapen och kommer att tillkännages publikt när de är klara. Vi föredrar att inte deklarera kontroller vi inte verifierat oberoende.
Listan över underbiträden är offentlig och hålls uppdaterad. Data Processing Agreement finns på begäran via privacy@fluera.dev.