Miten Salamailer suojaa viestisi
Miten suojaus toimii, missä sen rajat ovat ja miten voit tarkistaa väitteemme itse. Versio 1.0 — 13.7.2026. Tämä sivu on osa käyttöehtoja; versiohistoria säilytetään.
Avainhierarkia
- Sisältöavain (CK) — tuore 256-bittinen AES-GCM-avain jokaiselle viestille, luotu selaimessasi. Se salaa viestin ja jokaisen liitteen (myös tiedostonimet).
- Vastaanottajan kopio — pelkkä CK sijaitsee vain linkin fragmentissa (/m/<id>#<avain>). Selaimet eivät koskaan lähetä fragmenttia palvelimelle, joten emme koskaan vastaanota sitä.
- Lähettäjän kopio — CK käärittynä holviavaimesi (VK) alle, tallennettuna niin että sinun selaimesi voi rakentaa linkin uudelleen lähetystä varten. Emme voi avata sitä ilman salasanaasi.
- Holviavain (VK) — satunnainen, käärittynä salasanastasi johdetun avaimen alle. Tallennamme vain käärityn muodon.
Linkki ja koodi kulkevat eri reittejä
Salausavain kulkee linkissä. Viestin avaaminen vaatii lisäksi tekstiviestikoodin tai tunnuslauseen toista reittiä. Koodi ei ole osa salausavainta, joten lyhyt, muistettava koodi riittää: sitä voi yrittää arvata vain palvelumme kautta — koodia ei voi murtaa jälkikäteen omalla koneella.
Arvailun esto käytännössä: viisi väärää yritystä lukitsee viestin avaamisen 15 minuutiksi — lukituksen aikana myös oikea koodi hylätään. Lukituksen jälkeen yrityksiä on taas viisi ennen uutta lukitusta. Jokainen yritys kirjataan lähettäjän näkemään tapahtumalokiin, ja viesti poistuu joka tapauksessa pysyvästi valittuna eräpäivänä (enintään 30 vrk). Lisäksi samasta IP-osoitteesta tulevia yrityksiä rajoitetaan kaikkien viestien yli.
Uhkamalli
| Hyökkääjä | Lopputulos | Miksi |
|---|---|---|
| Passiivinen verkon salakuuntelija | Ei sisältöä | TLS + vain salakirjoitus liikenteessä; avainfragmentti ei koskaan saavu palvelimellemme |
| Palvelimen täysi murto | Ei sisältöä | Säilytämme vain salakirjoitusta + avaimia, joita emme voi avata |
| Pelkkä sähköpostin sieppaus | Ei sisältöä | Avain on, mutta nopeusrajoitettu portti tarvitaan silti salakirjoituksen hakemiseen |
| Pelkkä tekstiviestin/koodin sieppaus | Ei sisältöä | Koodi on, mutta linkkiä/avainta ei |
| Portin raakavoima | Estetty | 5 yritystä → 15 min lukitus (myös oikea koodi hylätään); yritykset lokiin; viesti lyhytikäinen |
| Haitallinen vastaanottaja | Vain oma viesti | Viestikohtaiset avaimet, ei uudelleenkäyttöä |
| Palvelimen murto ja sähköpostin sieppaus yhdessä | Kyseiset viestit paljastuvat | Väistämätöntä, kun palvelin säilyttää salakirjoitusta ja avain kulkee sähköpostissa. Lievennetään lyhyellä säilytyksellä + tuhoa lukemisen jälkeen -toiminnolla. |
| Me lähetämme haitallista JS:ää (tai murto tekee sen) | Jokaisen nollatieto-verkkosovelluksen jäännösriski | Lievennetään tiukalla CSP:llä, itse isännöidyillä resursseilla ja julkaistuilla build-tiivisteillä. Ulkopuolinen auditointi ja allekirjoitettu asiakasohjelma ovat tiekartalla. |
| Kehotesyötetty tekoälyagentti CLI/MCP-työkaluja käyttäen | Rajattu | Paikallinen CLI valvoo vastaanottajan verkkotunnussallilistaa ja liitejuuren rajaa; palvelimen kiintiöt rajaavat väärinkäytön. Agentti voi silti vuotaa sen, mikä sille laillisesti annettiin — tämä raja kuuluu agentin isännälle. |
| Varastettu CLI-tunnustiedosto | Vain lähettäjän esiintyminen | Sisältää heti peruutettavan API-avaimen + holviavaimen. Ei voi läpäistä vastaanottajan portteja, luoda avaimia tai lukea meillä olevaa viestisisältöä (vain salakirjoitusta). |
Lisäsuojat halukkaille
Paranoiditila (valinta viestikohtaisesti): tunnuslause sekoitetaan myös salausavaimen johtamiseen, jolloin edes tietomurto ja siepattu sähköposti yhdessä eivät riitä — yllä olevan taulukon viimeinen väistämätön rivi sulkeutuu vahvalla tunnuslauseella. Toimitan linkin itse -tila ja Outlook-lisäosa lähettävät ilmoituksen omasta postilaatikostasi, jolloin avain ei kulje palvelimemme kautta edes hetkellisesti. Palautusavain (tulostettava koodi) kääräisee holviavaimesi toiseen kertaan: unohtunut salasana ei enää tuhoa holvia — eikä palvelin silti voi avata sitä.
Poikkeus itse isännöintiin: Outlook-lisäosan tehtäväruutu (/addin/, vain se) lataa Microsoftin vaatiman Office.js-kirjaston Microsoftin CDN:stä — se on alustan osa, kuten selain itse. Omat tiedostomme sillä sivulla ovat samassa tiivistelistassa kuin kaikki muukin, ja connect-src 'self' pätee myös siellä: koodi ei voi lähettää avaimia muualle kuin meille.
Varmenna tarjoamamme koodi
Julkaisemme jokaisen tarjoamamme tiedoston SHA-256-tiivisteen (SERVED-HASHES.txt). Voit tarkistaa, että selaimeesi tuleva koodi vastaa julkaistua: