Suddig siluett av en person bakom frostat glas

Säkerhetsarkitektur

Zero knowledge genom design. Vi kan inte läsa era samtal. Inte "vill inte", utan tekniskt kan inte.

Zero knowledge genom design

Krypteringsnycklarna ligger i URL-fragmentet (#key=...). Enligt HTTP-specifikationen skickas URL-fragment aldrig till servern. Webbläsaren klipper bort fragmentet innan den gör någon förfrågan.

Det innebär att servern aldrig ser krypteringsnycklar. Inte i förfrågningarnas adresser, inte i headers, inte i loggar, ingenstans. Även med full åtkomst till servern (root, databasdump, minnesinspektion) förblir samtalen oläsbara.

"Vi kan inte lämna ut det vi inte har."

Vad vi krypterar

Textmeddelanden

Krypteras i webbläsaren med NaCl secretbox (xsalsa20-poly1305). Varje meddelande använder en unik slumpmässig nonce. Servern lagrar bara ciphertext.

Algoritm: XSalsa20-Poly1305

Nyckellängd: 256 bitar

Bibliotek: TweetNaCl

Nonce: Slumpmässig, unik per meddelande

Röst och video

Krypteras med LiveKit E2EE och PBKDF2-nyckelhärledning. Alla ljud- och videorutor krypteras innan de lämnar din enhet.

Protokoll: LiveKit E2EE (SFrame)

Nyckelhärledning: PBKDF2

Mediaserver: Egen drift, inte moln

Inspelning: Omöjlig (nycklarna finns aldrig på servern)

DÄRFÖR ÄR DET SÄKERT

  • Text: NaCl secretbox (xsalsa20-poly1305), autentiserad kryptering, 256-bitars nyckel, granskad TweetNaCl-implementation
  • Röst och video: varje ruta krypteras innan den lämnar din enhet
  • Egen mediaserver, ingen tredjepartsmoln behandlar era strömmar

Vad vi inte lagrar

Meddelandeinnehåll eller klartext
Röst- eller videoinspelningar
Krypteringsnycklar
IP-adresser
Webbläsarfingeravtryck eller user agents
Användarkonton eller lösenord
Samtalsmetadata eller samtalslängd
Aktivitets- eller åtkomstloggar
Cookies (utöver sessions-JWT)
Filuppladdningar (stöds inte)

DÄRFÖR ÄR DET SÄKERT

  • Ingenting att stjäla, även ett fullständigt dataintrång ger noll användbar data
  • Inga användarkonton betyder inga lösenordsdatabaser att attackera
  • Ingen IP-loggning betyder ingen koppling mellan rum och identiteter

Automatisk radering

All krypterad rumsdata ligger i Redis med strikt TTL och finns bara i RAM. Ingenting skrivs till disk (RDB och AOF är avstängda), och när TTL:en löper ut eller processen stoppas är det borta.

Rummen löper ut vid den tid som skaparen valt (15 minuter till 4 timmar). Raderingen är automatisk, inte ett städjobb som någon måste komma ihåg att köra.

Inga backuper. Inga repliker. Ingen återställning.

När data raderats är den borta. Det finns inget sätt att återskapa ett utgånget rum, även om vi ville.

DÄRFÖR ÄR DET SÄKERT

  • Lagring bara i RAM, försvinner strömmen töms minnet omedelbart
  • Ingen persistens på disk (RDB och AOF avstängda), ingenting skrivs till disk någonsin
  • Automatisk TTL, raderingen är garanterad och inte valfri

Hantering av e-post

E-postadresser samlas bara in för den som skapar rum, inte för deltagare. Syftet är att förhindra missbruk genom att begränsa hur många rum en identitet kan skapa.

  1. Du anger din e-post för att skapa ett rum
  2. Vi skickar en sexsiffrig verifieringskod (via Lettermint)
  3. Efter verifiering SHA-256-hashas adressen och originalet kastas
  4. Bara hashen sparas i JWT-token och används för att begränsa antalet rum
  5. Vi kan inte återskapa din e-postadress ur hashen, det är en envägsfunktion

Deltagare, alltså de som ansluter via länk, lämnar ingen e-post. Bara ett visningsnamn som finns i minnet så länge sessionen pågår.

Skydd mot missbruk

Frekvensbegränsning: Redis-baserad begränsning på alla endpoints. Inloggning: 5 anrop per 15 minuter och IP. Rumsskapande: 10 per timme och verifierad e-post.

Värdkontroller: Den som skapat rummet kan kicka deltagare och låsa rummet så att ingen ny kan ansluta.

Rapportering: Rapportering av missbruk inne i rummet. Rapporter sparas i 90 dagar (bara rums-id och typ av rapport, inget meddelandeinnehåll).

Avstängning: Permanenta avstängningar med e-posthashar. Avstängda kan inte skapa rum, och eftersom bara hashen sparas innehåller inte ens spärrlistan några e-postadresser.

Infrastruktur

Drift

Egen drift i Sverige (EU)

Transport

HTTPS och WSS (TLS 1.3)

Mediaserver

Egen LiveKit-drift, inte moln

TURN-relä

Egen drift (UDP 3478, TLS 5349)

Datalagring

Redis (bara RAM, ingen persistens på disk)

Jurisdiktion

Svensk rätt (EU:s dataskyddsförordning)

Frågor om säkerhetsmodellen?

Läs om hur rummen fungerar, eller skriv till oss. Vi svarar utförligt på säkerhetsfrågor.