Beveiliging
Laatst bijgewerkt 14 september 2026. Alleen maatregelen die bestaan worden genoemd. Wat ontbreekt wordt genoemd als ontbrekend.

Waarom deze pagina rechttoe rechtaan is. Een eenzaam persoon vertelt een compagnon dingen die hij niemand anders vertelt: wat pijn doet, waar hij bang voor is, wie niet meer belt. Als dat zou lekken zou dat geen ongemak zijn, maar een vernedering. Daarom staat op deze pagina wat er echt is ingericht en, aan het eind, wat nog niet.
Waar het nu staat
Een eigen machine in de EU, geen shared hosting. Provider: Hetzner Online GmbH.
Spraak wordt live verwerkt. Er bestaat geen opname om te lekken, op te vragen of kwijt te raken.
Certificaten van Let's Encrypt, automatisch vernieuwd.
Een lang willekeurig token per persoon. Geen gedeelde accounts, geen wachtwoorden om te hergebruiken of kwijt te raken.
Inloggen met wachtwoord op de server is volledig uitgeschakeld.
Met name vermeld in de privacy policy. Niets anders ontvangt gegevens.
Hoe het geheugen van één persoon van die persoon blijft
Dit is het risico dat het meest telt in een dienst als deze: iemand die een gesprek opent en over het leven van een onbekende hoort, of erger, dat zijn eigen leven wordt gelezen door iemand anders.
Elke aanvraag draagt het eigen token van de persoon. Elke geheugenopvraging is op dat token begrensd op databaseniveau, zodat er geen query is die de episodes van iemand anders kan teruggeven. Tokens zijn lang en willekeurig, niet oplopend, zodat ze niet geraden kunnen worden of door het verhogen van een getal doorlopen kunnen worden.
We testen dit bij elke codewijziging. Er worden twee compagnons aangemaakt, één krijgt een geheugen, en de test probeert dat dan te bereiken via het token van de ander. Als dat ooit lukt, gaat de wijziging niet live. Het is geen beleid op een pagina, het is een test die moet slagen.
Wat onze server verlaat, en wat niet
Alleen op onze machine opgeslagen: gesprekstekst, geheugen, profielen, namen van gezinsleden, data, notities over gezondheid en stemming.
Verlaat onze machine: de live spraak en tekst van het gesprek, naar de leverancier van het spraakmodel die met naam wordt genoemd in de privacyverklaring, voor herkenning en antwoord. Volgens hun API‑voorwaarden wordt die inhoud niet gebruikt om modellen te trainen. Dit is het enige deel van een gesprek dat ergens anders heen gaat, en wij zeggen dat liever gewoon dan dat u het zelf ontdekt.
Nergens heen gestuurd: niets wordt verkocht, niets gaat naar adverteerders, en er staan helemaal geen analytics of volgscripts op deze site. Er is geen cookiebanner omdat er niets is om toestemming voor te geven.
Dingen opzoeken zonder te lekken
Wanneer James een kliniek, een boek of een recept vindt, raadpleegt hij open openbare diensten: OpenStreetMap, Open Library, Wikisource, TheMealDB. Zij krijgen de zoekterm en een globale regio, nooit een naam en nooit iets anders uit het gesprek.
We gebruiken bewust echte bronnen in plaats van een taalmodel uit het hoofd te laten antwoorden. Een zelfbedacht kliniekadres, gegeven aan iemand die een dokter nodig heeft, is een veiligheidsfout en geen cosmetische fout.
Noodberichten
Alleen het bericht zelf en de identificatie van de ontvanger gaan naar de berichtendienst. Het gesprek niet. Elke poging wordt gelogd met het resultaat, en een mislukking wordt hardop aan de persoon gemeld in plaats van stilletjes ingeslikt. Denken dat hulp onderweg is terwijl dat niet zo is, is de slechtste uitkomst die dit systeem kan opleveren, dus het wordt gezien als een beveiligingseigenschap, niet als een aardigheidje.
De software eerlijk houden
- Geautomatiseerde tests draaien voor elke uitrol, en dekken geheugenisolatie, weigering om een vorig gesprek te verzinnen, eerlijke rapportage van mislukte berichten en de crisisregels.
- Elk bestand dat op de live server wordt gewijzigd, wordt eerst met een tijdstempel geback-upt, zodat een slechte wijziging direct kan worden teruggezet.
- Geheimen worden bewaard in bestanden die alleen leesbaar zijn voor het serviceaccount, nooit in de pagina, nooit in de repository.
- De systeemprompt verbiedt het verzinnen van herinneringen. De testreeks controleert het gedrag, omdat een regel in een prompt een verzoek is en een test een bewijs.
Wat nog niet is ingericht
Deze opsommen is het doel van de pagina. Iedereen kan aanspraak maken op de goede delen.
- Elke database is versleuteld in rust. SQLCipher, AES-256, op onze eigen server in Finland. Het sleutelbestand is alleen leesbaar voor root, en de platte kopieën die tijdens migratie zijn gemaakt zijn versnipperd, niet gewist. Audio wordt nooit op schijf geschreven.
- Geen onafhankelijke veiligheidsaudit. Geen enkel extern bedrijf heeft dit systeem beoordeeld. Wij zeggen het op deze pagina als dat wel zo is, met de datum.
- Geen ISO 27001 of SOC 2 certificering. Wij hebben geen van beide en wekken ook niet de indruk dat dat zo is.
- De schijf zelf is niet versleuteld. De databases zijn dat wel (zie hierboven), maar full-disk-encryptie is uitgeschakeld, wat normaal is voor een machine die zonder toezicht moet herstarten. Fysieke toegang tot de host blijft daarom een echte risicogrens en wij vertrouwen daarbij op de controles van het datacentrum van de provider.
- De databasesleutel staat op dezelfde server. Dat moet ook, zodat James om drie uur ’s nachts kan antwoorden zonder dat een mens iets hoeft te ontgrendelen. Dus de versleuteling beschermt een gestolen schijf of een gelekt back-upbestand. Het beschermt niet tegen een aanvaller die al administratieve toegang heeft tot de draaiende server. Wie over een dienst als deze iets anders beweert, overschreeuwt het.
- Geen tweefactorauthenticatie op accounts, omdat er geen wachtwoorden zijn: toegang is de privélink. Dat is eenvoudiger voor een 80-jarige en het betekent ook dat een gelekte link een gelekt account is. Zeg het ons en wij geven direct een nieuwe uit.
- Geen formeel bug bounty-programma. Maar zie hieronder, en wij antwoorden.
Als u een probleem vindt
Schrijf naar security@hellojames.io of legal@hellojames.io. Vertel ons wat u hebt gevonden en hoe we het kunnen reproduceren. Wij antwoorden binnen 72 uur, wij zullen u niet bedreigen, en wij vermelden uw naam als u dat wilt.
Als u denkt dat gegevens zijn blootgesteld, zet dat dan in de onderwerpregel en wij behandelen het direct als een incident: autoriteit binnen 72 uur ingelicht waar dat nodig is, en betrokken mensen direct in gewone woorden geïnformeerd.
