Er is een zin die we vaak herhalen als we over Cashfulness praten.
"Wij zien je documenten niet."
Dat is een makkelijke zin om te zeggen. Veel apps zeggen hem.
Het gaat om wat er onder die zin zit. Want "wij kijken er niet naar" en "wij kunnen er niet naar kijken" zijn twee heel verschillende beloften.
De eerste is een belofte van goede wil: vertrouw erop dat wij het niet doen.
De tweede is een belofte van onmogelijkheid: ook al zouden we willen, we kunnen het niet.
In Cashfulness geldt voor de documenten die je uploadt de tweede. En het technische woord dat haar waar maakt, heet end-to-end-versleuteling.
In het Engels vind je het afgekort als E2EE, van end-to-end encryption: versleutelen "van het ene uiteinde tot het andere".
Ik weet dat het klinkt als iets voor informatici. Beloofd: aan het eind van dit artikel heb je het begrepen, ook al heb je van je leven nooit een regel code geschreven. En dan snap je ook waarom het, voor een app waarin je de cijfers van je huishouden bewaart, een keuze is die alles verandert.
Eerst de juiste woorden
Laten we bij het werkwoord beginnen. Een bestand versleutelen betekent het omzetten in een onleesbare reeks.
Niet het verbergen achter een wachtwoord dat vraagt "laat me erin". Het werkelijk omvormen: de tekst, de getallen, de afbeeldingen nemen en terugbrengen tot een blok tekens die niets betekenen voor wie de juiste sleutel niet heeft.
Wat dat blok weer in leesbare vorm brengt, heet de sleutel. Het is een stukje informatie — zie het als een heel, heel lang wachtwoord dat de computer heeft aangemaakt — zonder welk het bestand ruis blijft.
Je versleutelt met de sleutel. Je ontsleutelt met de sleutel. Zonder sleutel is het een muur.
Houd deze twee woorden vast — versleutelen en sleutel — want al het overige draait om de vraag waar de sleutel woont.
Het kluisje bij de bank
Ik geef het voorbeeld dat volgens mij alles duidelijk maakt.
Ken je die kluisjes bij de bank? Die waarin mensen belangrijke papieren bewaren, wat sieraden, de dingen die ze niet thuis willen hebben.
Die werken zo.
De bank geeft je een gepantserde kluiskelder, bewaakt, inbraakbestendig. Daarin staat jouw kluisje.
Maar de sleutel van jouw kluisje heb jij. Alleen jij.
De bank bewaakt de kluiskelder. Ze kan jouw kluisje niet openen. Ze heeft de sleutel niet. Als een oneerlijke medewerker morgen zou willen rondsnuffelen, zou het niet kunnen: het slot gaat niet open zonder jouw sleutel. Braken er dieven in en sleepten ze de hele kluiskelder mee, dan hielden ze een gesloten metalen doos over die ze niet open krijgen.
De bank biedt je een dienst — de veiligheid van de kluiskelder — zonder toegang te eisen tot wat je erin legt.
End-to-end-versleuteling is precies dit, toegepast op digitale bestanden.
Cashfulness is de bank: we bieden je de kluiskelder, oftewel onze servers waar je documenten worden bewaard.
Jij bent de enige die de sleutel van het kluisje heeft.
En wij bewaken, net als de bank, zonder te kunnen openen.
Wat er in de praktijk gebeurt wanneer je een document uploadt
Stel dat je in Cashfulness je bankafschrift wilt bewaren, een energierekening, je huurcontract, een polis.
Dat zijn de documenten die je in Cashfulness kunt uploaden: afschriften, rekeningen, contracten, polissen. Spullen vol met jouw gegevens — je volledige naam, adres, IBAN, bedragen, tegenpartijen.
Dit is de volgorde.
Jij kiest het bestand op je telefoon of computer.
Voordat het vertrekt, nog op je eigen apparaat, wordt het document versleuteld. Het wordt dat blok ruis waar ik het over had.
Pas daarna, al versleuteld, reist het naar onze servers.
Bij de server komt ruis aan. Op de server blijft het ruis.
Wanneer jij het weer wilt lezen, komt het document nog versleuteld terug op je apparaat, en daar — en alleen daar, met jouw sleutel — wordt het weer leesbaar.
Het moment van versleutelen is het belangrijke deel: het gebeurt bij jou, vóór het vertrek. Niet "zodra het op de server is aangekomen, doen wij het voor je op slot". Dat zou de bank zijn die een kopie van jouw sleutel in de la van de directeur bewaart.
Nee. Wij hebben de sleutel nooit. Hij ontstaat bij jou en blijft bij jou.
Waar jouw sleutel woont
Terechte vraag op dit punt: en als ik die kostbare sleutel nou kwijtraak? Waar bewaar ik hem?
De sleutel van je documenten ontstaat uit twee dingen die van jou zijn.
Het eerste is je wachtwoord, dat waarmee je bij Cashfulness inlogt.
Het tweede is een reeks van 24 woorden die je ontvangt wanneer je deze bescherming aanzet. Het is een systeem dat ook elders wordt gebruikt om de meest gevoelige sleutels te bewaren — vierentwintig gewone woorden, in een bepaalde volgorde, die samen gelden als een hoofdsleutel voor herstel.
Uit deze twee dingen wordt, op jouw apparaat, de sleutel gebouwd die je documenten versleutelt en ontsleutelt.
En hier zit het punt dat het hele artikel waard is: die sleutel verlaat nooit jouw apparaat.
Hij gaat niet langs onze servers. We bewaren hem nergens. We zien hem niet voorbijkomen.
Het is alsof de sleutel van het kluisje bij jou thuis wordt gesmeed, door jou, en er nooit vandaan komt. De bank heeft hem nooit gezien, geen moment.
Voor onze servers is en blijft, ik herhaal het, elk document van jou een blok digitale ruis.
Wie je documenten niet kan lezen (oftewel: iedereen behalve jij)
Ik probeer expliciet te zijn, want dit is meestal het punt waarop een privacybelofte het houdt of leegloopt.
De documenten die je uploadt, kunnen wij die Cashfulness hebben gebouwd niet lezen. Er bestaat nergens een scherm waar een technicus van ons jouw polis opent. Technisch bestaat dat niet, want we hebben de sleutel niet.
Wie de servers beheert waarop de gegevens draaien, kan ze niet lezen.
Een aanvaller die morgen onze systemen zou binnendringen en alles zou meenemen, zou ze niet kunnen lezen: hij zou ruis in handen krijgen, onbruikbare bestanden.
En we zouden ze ook niet leesbaar kunnen overhandigen als een autoriteit er formeel om vroeg, want we hebben ze niet in leesbare vorm. We kunnen alleen de ruis overhandigen die we bewaken.
De zin "wij zien je documenten niet" houdt op dit punt op een vriendelijke geruststelling te zijn.
Ze wordt een technische beschrijving van een feit.
We zien ze niet omdat we het niet kunnen. Dat is iets anders.
De keerzijde (en die vertel ik je liever zelf, vooraf)
Aan zo'n strakke bescherming hangt een prijs, en het zou oneerlijk zijn die te verzwijgen.
Raak je je wachtwoord kwijt én raak je ook je 24 herstelwoorden kwijt, dan worden je documenten onleesbaar. Voorgoed. Ook voor ons.
Er is geen knop "ik ben alles vergeten, stuur me mijn bestanden terug". Er is geen technicus van ons die via het raam weer naar binnen klimt om ze voor je terug te halen.
Terug naar het kluisje bij de bank: raak je je sleutel kwijt en heeft niemand anders een kopie, dan blijft alles in het kluisje zitten, maar krijgt niemand het nog open.
Ik snap dat dit, zo gezegd, een beetje onrust kan geven. Maar bekijk het van de andere kant, want dat is de reden waarom we het zo hebben gekozen.
Als er ergens een "reservekopie" van jouw sleutel bestond — op onze server, in de la van de directeur — dan zou die kopie de zwakke plek van het hele systeem zijn. Dat is wat een aanvaller als eerste zou zoeken. Dat is de deur die een autoriteit ons zou kunnen vragen te openen. Dat is het bestand dat een oneerlijke medewerker voor zichzelf zou kunnen kopiëren.
Een sleutel die alleen op jouw apparaat bestaat — die deur gaat eenvoudigweg niet open.
We hebben ervoor gekozen je de volledige zeggenschap te geven — met het gewicht dat daarbij hoort — in plaats van zelf een sluiproute te houden die vroeg of laat het gat in de dijk zou zijn geworden.
Het enige praktische dat we er in ruil voor vragen, is dit: bewaar je 24 woorden zoals je de eigendomsakte van je huis zou bewaren. Opgeschreven, op een veilige plek, uit het zicht. Niet in een mail aan jezelf, niet in een notitie op je telefoon. Die 24 woorden zijn de reservekopie van je sleutel. Behandel ze zoals je de dingen behandelt die ertoe doen.
Een eerlijke precisering: E2EE dekt hier de documenten
Ik wil je niet meer verkopen dan er is, want dat zou het tegendeel zijn van dit hele artikel.
De end-to-end-versleuteling die ik heb beschreven, beschermt de documenten die je uploadt: afschriften, rekeningen, contracten, polissen. Dat is de gevoeligste laag, en daar hebben we het strakste slot op gezet.
Je eigenlijke boekhoudgegevens — de rekeningen, de saldi, de bewegingen die samen je positiebepaling vormen, oftewel je nettovermogen — volgen een andere logica.
Die staan in een database van ons, op Europese servers, en zijn aan de serverkant leesbaar. Dat is een noodzakelijke technische keuze: ze zijn nodig om je boekhouding tussen telefoon en computer gelijk te houden, en om in real time de maatstaven te berekenen die we je tonen. Ze op precies dezelfde manier versleutelen als de documenten zou de app loodzwaar en in de praktijk onbruikbaar maken.
Maar — en hier komt het deel dat veel mensen niet verwachten — die getallen reizen zonder je biografie eraan vast.
Wanneer je je registreert, vragen we je om een bijnaam (wat je maar wilt, ook verzonnen), een e-mailadres en een wachtwoord. We vragen je niet om voornaam, achternaam, burgerservicenummer, geboortedatum, adres of telefoonnummer.
Zo zou zelfs iemand met toegang tot de database een zekere bijnaam zien met rekeningen, saldi en bewegingen — maar zonder enige manier om die getallen te verbinden aan de echte persoon die jij bent.
Over hoe die tweede laag werkt, en waarom we haar in twee niveaus hebben gebouwd in plaats van één, is er een eigen artikel: Radicale privacy: twee lagen, één belofte. Hier houd ik ermee op, want het onderwerp van vandaag is de sleutel van het kluisje.
Het punt dat ik wilde vastleggen, is dit: als we zeggen dat end-to-end-versleuteling je documenten onleesbaar maakt, hebben we het over de documenten. Voor de rest geldt een andere bescherming, die net zo serieus is. En ik zeg het je liever zelf precies dan je te laten geloven in een magische versleuteling die alles dekt.
Waarom het ons zoveel waard was
Ik zou hier bij de techniek kunnen afsluiten. Maar de techniek is op zichzelf niet de reden.
De reden is dat persoonlijke financiën de plek zijn waar je de dingen bewaart waar je zelfs met vrienden niet graag over praat. Wat je werkelijk verdient. Hoeveel je opzij hebt gezet, of hoe weinig. Een schuld die op je drukt.
Als er, zodra je zo'n app opent, onderin de twijfel blijft hangen dat iemand, ergens, een blik zou kunnen werpen, dan zal die app je nooit geven waarvoor ze bestaat.
Wij noemen dat rust. The calm side of money, de kalme kant van geld. En rust is, als je cijfers niet werkelijk veilig zijn, alleen maar een woord op een website.
End-to-end-versleuteling op documenten is geen technische trofee voor in de vitrine. Het is de vloer waarop al het andere rust: zonder haar zijn de maatstaven en de positiebepaling meubels die boven het niets zweven.
Daarom hebben we haar in het fundament geschreven, en er niet later als nog een schakelaar bij gezet.
In één regel
Ik laat hem je in de kortste vorm die ik heb.
Je sluit je documenten op in een kluisje. De sleutel van dat kluisje heb alleen jij, en hij verlaat nooit je apparaat. Wij bewaken het gesloten kluisje, en we kunnen het niet openen.
Niet omdat we hebben beloofd dat we deugen.
Omdat we onszelf met opzet de mogelijkheid hebben ontnomen om níet te deugen.
— Vittorio