Beveiliging

Jouw gegevens, jouw controle.

Speedy haalt je administratie op bij e-Boekhouden.nl op het moment dat je die nodig hebt, en bewaart er zo weinig mogelijk van. Op deze pagina staat wat we wel opslaan, waar en hoe lang, en naar wie je gegevens gaan.

🔑

Kernprincipes

Speedy slaat je wachtwoord voor e-Boekhouden niet op en houdt geen kopie van je administratie bij. Je inloggegevens voor e-Boekhouden gaan rechtstreeks door naar e-Boekhouden.nl en worden daarna nergens bewaard. Wat we wel opslaan: je Speedy-account (e-mailadres, naam en passkey), je API-sleutel als je die instelt (versleuteld), een versleuteld sessietoken van e-Boekhouden, je geleerde boekingen en, tijdelijk, de uitkomsten van AI-analyses. Hieronder lees je per onderdeel hoe dat zit.

Hoe het technisch werkt

Per onderdeel: wat er gebeurt en wat er blijft staan.

🔐

Passkey-authenticatie

Je logt bij Speedy in met een passkey (WebAuthn), niet met een wachtwoord. Een passkey kun je niet raden, hij werkt alleen op het domein van Speedy, en de geheime sleutel komt nooit op onze server.

Bij het registreren maakt je apparaat een cryptografisch sleutelpaar aan. De privésleutel blijft bij jou: op je apparaat of, bij een gesynchroniseerde passkey, in je eigen sleutelhanger of wachtwoordmanager (beveiligd met Face ID, Touch ID of je schermvergrendeling). Alleen de publieke sleutel gaat naar onze server.

✓ Geen wachtwoord: niets om te lekken, te raden of te phishen
✓ Privésleutel blijft bij jou: hij komt nooit op onze server
✓ Phishing-bestendig: werkt alleen op het juiste domein
📋

Inloggegevens van e-Boekhouden

Na het inloggen met je passkey koppel je je account bij e-Boekhouden.nl. Je wachtwoord voor e-Boekhouden gaat via HTTPS rechtstreeks door naar e-Boekhouden.nl. Speedy gebruikt het alleen voor dat ene inlogverzoek en slaat het nergens op.

Jouw browser → Speedy-server → e-Boekhouden.nl

Het sessietoken dat e-Boekhouden teruggeeft, slaat Speedy versleuteld (AES-256-GCM) op: in je Speedy-sessie in Redis, die na 30 minuten zonder activiteit verloopt, en in PostgreSQL, zodat je na een nieuwe passkey-login niet opnieuw hoeft te koppelen. Speedy wist die kopie zodra het merkt dat e-Boekhouden de sessie heeft beëindigd. Je wachtwoord staat nergens.

Je kunt de verbinding ook zelf verbreken met Verbinding verbreken: via het verbindingslabel bovenin, het gebruikersmenu of Instellingen. Speedy vraagt e-Boekhouden dan om je af te melden, wist het token uit Redis en PostgreSQL en verwijdert al je tijdelijk bewaarde gegevens: analyses, suggesties, duplicaatmarkeringen en de negeerlijst. Alleen je geleerde boekingen blijven staan; die verwijder je apart via Instellingen. De app zegt alleen dat je bent afgemeld als e-Boekhouden dat heeft bevestigd.

✓ Wachtwoord wordt nooit opgeslagen
✓ Sessietoken versleuteld opgeslagen (Redis en PostgreSQL)
✓ MFA-code wordt nooit opgeslagen
✓ Verbinding altijd zelf te verbreken: Speedy wist dan het token en de tijdelijke gegevens en vraagt e-Boekhouden je af te melden
🗄️

Wat wij opslaan

Speedy slaat een beperkt aantal gegevens op in een PostgreSQL-database. Sleutels, tokens en inloggegevens zijn versleuteld met AES-256-GCM:

✓ Account: je e-mailadres, naam, je passkeys (de publieke sleutel en de naam die je eraan geeft) en je type onderneming als je dat instelt
✓ Team: teamnaam en lidmaatschap
✓ API-sleutel: je API-sleutel van Anthropic, versleuteld met AES-256-GCM
✓ Sessietoken van e-Boekhouden: versleuteld, zodat je verbinding een nieuwe login overleeft; gewist zodra Speedy merkt dat de sessie bij e-Boekhouden is verlopen
✓ Optionele koppelingen: SOAP- en REST-inloggegevens voor e-Boekhouden, versleuteld, alleen als je die zelf instelt
✓ Geleerde boekingen: voor elke afschriftregel die je via de inbox boekt (behalve een factuurbetaling) een herkenningssleutel uit de ingekorte omschrijving en de tegenrekening, met de grootboekrekening, btw-code en soort boeking die jij koos, hoe vaak je dat deed en één voorbeeldomschrijving. Inzichtelijk en te verwijderen via Instellingen
✓ Herstellinks en profielfoto: van een herstellink alleen een hash (15 minuten geldig, één keer te gebruiken); een profielfoto alleen als je er een instelt (de foto zelf staat in Cloudflare R2)
✗ Geen wachtwoorden voor e-Boekhouden
✗ Geen kopie van je administratie: mutaties, relaties, saldi en afschriften staan niet in de database
✗ Geen transactiehistorie: van een geboekte afschriftregel blijft alleen de geleerde boeking hierboven over, zonder bedrag

Je administratie zelf haalt Speedy op bij e-Boekhouden.nl op het moment dat je die opvraagt, en stuurt die direct door naar je browser. Daarnaast bewaart Speedy tijdelijk de uitkomsten van AI-analyses in Redis, met de gegevens van afschriftregels en documenten die daarbij horen; zie 'AI-functies & API-sleutel'. Die verlopen vanzelf en worden meteen gewist als je de verbinding verbreekt.

Ook de logs van de server bevatten geen boekhoudgegevens. Speedy logt alleen technische id's, statuscodes, lengtes en foutklassen: geen antwoorden van e-Boekhouden of Claude, geen leveranciers, bedragen, omschrijvingen of bestandsnamen.

🔒

Versleuteling

Verkeer gaat altijd over HTTPS, en sleutels en tokens slaan we versleuteld op. De tijdelijke AI-uitkomsten in Redis en je geleerde boekingen staan niet versleuteld in onze eigen databases.

✓ Browser ↔ Speedy: HTTPS met een certificaat van Let's Encrypt
✓ Speedy ↔ e-Boekhouden.nl: alleen HTTPS, nooit terugvallen op HTTP
✓ API-sleutel: versleuteld met AES-256-GCM in de database
✓ Sessietoken van e-Boekhouden: versleuteld met AES-256-GCM in Redis en PostgreSQL
🍪

Sessies & cookies

Sessies staan in Redis en verlopen na 30 minuten zonder activiteit. Je sessiecookie is beveiligd met:

✓ HttpOnly: JavaScript kan de cookie niet uitlezen (bescherming tegen XSS)
✓ Secure: wordt alleen via HTTPS verstuurd
✓ SameSite=Lax: bescherming tegen CSRF-aanvallen
✓ Willekeurige id: een cryptografisch willekeurig UUID
🤖

AI-functies & API-sleutel

De AI-functies (factuur- en documentherkenning, boekingsvoorstellen) gebruiken de Claude API van Anthropic, met een API-sleutel van jezelf. Een document gaat alleen naar Claude als jij een analyse start. Je onverwerkte afschriftregels (datum, bedrag, omschrijving en tegenrekening) stuurt Speedy naar Claude zodra je de inbox opent, zodat je meteen voorstellen ziet. Regels die je al twee keer op dezelfde manier hebt geboekt, of die herkenbaar een openstaande factuur betalen, gaan niet naar Claude. Een regel die Claude al eerder heeft beoordeeld ook niet: Speedy gebruikt dan het bewaarde voorstel. Alleen via "Alles opnieuw classificeren" gaan alle regels nog een keer.

Je API-sleutel staat versleuteld (AES-256-GCM) opgeslagen en wordt alleen ontsleuteld voor een aanroep naar Anthropic. De sleutel wordt nooit gelogd, gaat alleen naar api.anthropic.com en kun je altijd verwijderen via Instellingen.

Of je sleutel werkt en je tegoed nog niet op is, controleert Speedy met een heel klein bericht aan Anthropic. Is de sleutel in orde, dan onthoudt Speedy dat 15 minuten in Redis, zodat niet elk bezoek aan je inbox opnieuw een aanroep kost. Daarvoor bewaart Speedy alleen een hash van de versleutelde sleutel, niet de sleutel zelf.

Van een analyse bewaart Speedy de uitkomst tijdelijk in Redis, zodat dezelfde analyse niet nog een keer een AI-aanroep kost. Voor een geüpload bestand is dat zeven dagen en voor een document uit je mailmap 30 dagen (leverancier, factuurnummer, datum, bedragen en de voorgestelde grootboekrekening). Het overzicht van je afschriftregels (datum, bedrag, omschrijving en de voorgestelde boeking) blijft een uur staan. Het voorstel per afschriftregel (grootboekrekening, btw-code, soort boeking en een ingekorte omschrijving) bewaart Speedy 30 dagen na het laatste gebruik, onder een hash van de regel in plaats van de regel zelf, zodat dezelfde regel niet nog een keer naar Claude gaat. Boek je een regel, dan valt het voorstel er bij de volgende classificatie vanzelf uit. Na het boeken bewaart Speedy 90 dagen een markering waaraan het herkent dat je hetzelfde bestand al hebt geboekt. Daarin staan alleen een hash van het bestand, de mutatienummers en het tijdstip van boeken. Verder slaat Speedy geen analyses op, en dit alles wordt gewist zodra je de verbinding met e-Boekhouden verbreekt.

Documenten uit je mailmap (Mail & herken) leest Speedy rechtstreeks uit je eigen archief in e-Boekhouden. Ze worden niet naar andere opslag gekopieerd: bij een analyse gaat het bestand vanuit het geheugen naar Claude, en na het boeken hernoemt en verplaatst Speedy het binnen e-Boekhouden. Negeer je een document, dan onthoudt Speedy alleen het bestands-id.

Bestanden die je zelf uploadt bewaart Speedy evenmin. Ze gaan vanuit het geheugen van de server naar Claude en blijven verder in je browser. Bij het boeken stuurt je browser het bestand nog een keer mee, zodat Speedy het in je archief in e-Boekhouden kan zetten. Speedy schrijft geen documenten naar objectopslag; Cloudflare R2 gebruiken we alleen voor profielfoto's.

🛡️

Bescherming tegen misbruik

Op het inloggen en registreren zit een limiet per IP-adres:

✓ Maximaal 20 inlogpogingen met een passkey per 5 minuten, en 5 registratie- of herstelpogingen per 15 minuten
✓ Maximaal 10 inlog- en MFA-pogingen bij e-Boekhouden per 5 minuten
✓ Uploads en documenten uit je mailmap mogen maximaal 10 MB zijn
✓ CORS beperkt tot ons eigen domein
📱

Tweestapsverificatie (MFA)

Speedy werkt met de MFA van e-Boekhouden.nl. De MFA-code gaat net als je wachtwoord rechtstreeks door naar e-Boekhouden en wordt niet bewaard.

Voor je Speedy-account zelf gebruik je een passkey. Die is beter bestand tegen phishing dan een wachtwoord met een MFA-code: hij werkt alleen op het domein van Speedy, en er is geen code die iemand je kan ontfutselen.

Architectuuroverzicht

Zo loopt je data tussen je browser, Speedy en e-Boekhouden.nl. Voor AI-analyses gaat er daarnaast verkeer van Speedy naar Anthropic.

Jouw browser Passkey en e-Boekhouden-login
HTTPS →
Speedy-server Go/Gin + PostgreSQL + Redis
HTTPS →
e-Boekhouden.nl Jouw administratie
🔒 Je wachtwoord voor e-Boekhouden wordt alleen tijdens het inlogverzoek gebruikt
🔒 De database bevat accounts, versleutelde sleutels en tokens, en geleerde boekingen
🔒 Sessie verloopt na 30 minuten zonder activiteit
🔒 Verbinding verbreken wist token en tijdelijke gegevens en vraagt e-Boekhouden je af te melden

Wat wij bewust niet doen

✗

Je wachtwoord voor e-Boekhouden opslaan

Je wachtwoord gaat door naar e-Boekhouden.nl en wordt daarna niet bewaard. Niet gehasht, niet versleuteld, helemaal niet.

✗

Je administratie kopiëren

Mutaties, relaties, saldi en afschriften houden we niet bij; Speedy haalt ze op bij e-Boekhouden.nl als je ze nodig hebt. Wat we wel bewaren, zijn de tijdelijke AI-uitkomsten (met de gegevens van afschriftregels en documenten die daarbij horen) en je geleerde boekingen, zoals hierboven beschreven.

✗

Tracking via derden

Geen Google Analytics, geen cookies van derden, geen advertentietracking. Wel houden we cookieloze bezoekersstatistieken bij met een eigen Plausible-installatie, op de website en in de app. Op de website zijn dat paginaweergaven, klikken op knoppen en veelgestelde vragen, en hoe ver je scrolt. In de app gaat er bij een gebeurtenis hooguit een aantal, een ja/nee-waarde of een vaste code mee, nooit namen, bedragen of andere boekhoudgegevens.

✗

Data verkopen of delen

We verkopen geen data. Documenten en afschriftregels gaan alleen naar Anthropic, voor een analyse of classificatie, met jouw eigen API-sleutel, en die sleutel gaat ook alleen naar Anthropic. Een profielfoto staat bij Cloudflare R2, en voor welkomst- en herstelmails gebruiken we een mailserver.

💻

Open source & verifieerbaar

Wat op deze pagina staat, kun je nalezen in de broncode van Speedy e-Boekhouden. Die staat volledig open op GitHub. Je kunt de code doorlichten, er een eigen beveiligingsaudit op loslaten of Speedy zelf hosten.

Disclaimer & voorwaarden

Speedy e-Boekhouden is niet gelieerd aan e-Boekhouden B.V. en wordt aangeboden zonder enige garantie. Gebruik is op eigen risico.

Lees de volledige disclaimer

Overtuigd?

Maak een account aan met een passkey. Een wachtwoord heb je voor Speedy niet nodig.

Direct beginnen