Fluera

Arkitektur

Så skyddar Fluera din anteckningsbok.

Den här sidan beskriver säkerhetsmodellen på den nivå som en teknisk läsare — säkerhetsansvarig, universitets-CISO, nyfiken utvecklare — förväntar sig. För den icke-tekniska sammanfattningen, börja på /sv/security.

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 lagras på EU-infrastruktur. Den är krypterad i transit (TLS) och i vila på infrastrukturnivå (Supabase, eu-north-1), men inte ände-till-ände-krypterad — Fluera kan som personuppgiftsansvarig komma åt den. Vi säljer den aldrig och använder den aldrig för annonsering.
  • 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

All nätverkstrafik är TLS 1.3 med moderna chiffersviter.

Synk mellan enheter: på EU-infrastruktur

Molnsynk, när den är aktiverad, lagrar canvas-data på Supabase (EU-region, eu-north-1). Datan är krypterad i transit (TLS) och i vila på infrastrukturnivå, men inte ände-till-ände-krypterad: synkservern lagrar inte ciphertext som bara du kan låsa upp, och Fluera kan som personuppgiftsansvarig komma åt det synkade innehållet. Vi säljer det aldrig och använder det aldrig för annonsering. Synk är opt-in per anteckningsbok — du kan hålla vissa enbart lokalt medan andra synkas.

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-modeller (Socratic Mode, Ghost Map, LaTeX OCR, Exam Session) serveras via Google Vertex AI och bearbetas i EU (europe-west4 NL / europe-west1 BE). En proxy håller autentiseringsuppgifterna på servern, så klientenheterna ser dem aldrig. 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 lorenco@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 lorenco@fluera.dev.