Onder de motorkap

Wat er precies gebeurt met je bestanden.

Voor iedereen die de technische details achter onze privacybeloftes wil weten. Alles op deze pagina beschrijft hoe het systeem vandaag gebouwd is. Als hier iets verandert, verandert deze pagina eerst. Wat er onlangs veranderd is, in gewone woorden, lees je bij Wat is er nieuw.

De korte versie

  • Je upload gaat rechtstreeks naar de opslag. Je browser stuurt de bestanden direct naar onze opslagbucket in de EU. Onze webservers komen nooit aan de inhoud van de bestanden.
  • Verwerkt in de EU. Een eigen server in Duitsland of Finland herstelt je herinneringen en wordt verwijderd als hij niets meer te doen heeft.
  • Automatisch verwijderd. Originelen als de verwerking klaar is (uiterlijk na 24 uur); herstelde bestanden 72 uur nadat ze klaar zijn; of alles meteen, met één tik.
  • Alleen software. Gewone opensource-mediatools doen het werk. Niemand bekijkt je foto's, en niets wordt gebruikt om iets te trainen.
  • Alleen Herinneringen worden geopend. Chats, vrienden, accountgegevens en de rest van je Snapchat-gegevens worden nooit gelezen. De enige optionele uitzondering: om chatfoto's en -video's in een map per chat te sorteren, lezen we in het bestand met de chatgeschiedenis met wie elke chat was, nooit de berichten. Laat de chatgeschiedenis weg uit je export, dan doen we zelfs dat niet.
  • Beperkte, tijdelijke toegang. Met de rechten bij Google en Dropbox kunnen we alleen bestanden toevoegen, en we geven ze op zodra het versturen klaar is.

Wat er met een bestand gebeurt

  1. Uploaden

    Als je begint, maakt onze API een taak aan en geeft je browser ondertekende uploadadressen die kort geldig zijn (een uur), voor een Cloudflare R2-bucket die is aangemaakt met EU-jurisdictie, waardoor de gegevens binnen de Europese Unie opgeslagen blijven. Je browser uploadt de ZIP-bestanden daar in delen naartoe, via HTTPS. Onze servers geven alleen de adressen; de bytes gaan van je apparaat naar de opslag. Valt je verbinding weg, dan vraagt de browser welke delen zijn aangekomen en stuurt hij alleen de rest.

  2. Wachten

    Tijdens het uploaden laat de pagina onze API ongeveer weten hoe lang het nog duurt, zodat er net voordat je klaar bent een verwerkingsserver gestart kan worden. Er wordt niets verwerkt tot alle bestanden zijn aangekomen.

  3. Verwerken

    De verwerking draait op een Hetzner-server in de EU (nu Neurenberg of Falkenstein in Duitsland, of Helsinki in Finland), die voor het werk wordt aangemaakt. Onze code weigert er ergens anders een aan te maken. Hij is helemaal niet bereikbaar vanaf het internet: zijn firewall accepteert geen inkomende verbindingen. Hij leest je ZIP-bestanden rechtstreeks uit de opslag en verwerkt een paar herinneringen tegelijk op zijn eigen schijf. Zodra een herinnering klaar is, gaat het herstelde bestand terug naar de opslag en worden de werkkopieën meteen verwijderd. Zo heeft de server nooit je hele bibliotheek. Als er geen werk meer is, wordt de server zelf verwijderd.

  4. Wat we lezen

    De export van Snapchat bevat veel meer dan Herinneringen. Onze code opent alleen de map memories/ en de twee bestanden met de lijst van je Herinneringen ( memories_history.json en .html), plus chat_media/ als "Ook mijn foto's en video's uit chats opslaan" is aangevinkt (dat is zo, tenzij je het uitvinkt). Al het andere (chats, vrienden, accountgegevens, locatiegeschiedenis) wordt overgeslagen zonder geopend te worden, en samen met de originelen verwijderd.

    Chatgeschiedenis, alleen als je die meestuurt. Als "Ook mijn foto's en video's uit chats opslaan" is aangevinkt en je export de chatgeschiedenis van Snapchat bevat (json/chat_history.json), halen we er drie dingen uit: de naam van elk gesprek (de Snapchat-gebruikersnaam van de ander, of de titel van een groepschat), de ID's die elke foto of video aan het gesprek koppelen, en wanneer elk daarvan verstuurd is (een foto of video die in meerdere chats is verstuurd, komt in de chat waarin hij het eerst verstuurd is). Onze code leest het bestand alleen om die eruit te halen. De tekst van berichten wordt overgeslagen en nooit opgeslagen, gelogd of gebruikt. De gebruikersnamen worden mapnamen in je download, Google Drive of Dropbox, en komen nooit in onze logs of foutrapporten.

    Het is optioneel. Zit er geen chatgeschiedenis in je export, dan komen je chatfoto's en -video's op datum in één map, en is er geen bestand met chatgeschiedenis dat we kunnen openen. Hoe dan ook wordt het bestand samen met de rest van je originelen verwijderd.

  5. Het herstellen

    Datums, locaties en teksten worden teruggezet met gewone opensource-tools: FFmpeg voor video, ExifTool voor de gegevens in foto's en video's, en Pillow voor afbeeldingen. Tijdzones worden opgezocht aan de hand van de coördinaten van elke herinnering, met een offline kaart van tijdzones, dus je locaties worden nooit naar een kaart- of geocodingdienst gestuurd. Er draait geen AI-model op je media, en niets wordt gebruikt om te trainen.

    Chatmedia, opgeruimd. In de chatmedia van Snapchat zit vaak dezelfde foto of video meerdere keren (soms in een ander formaat of bestandstype), en een Snap-video van meer dan 10 seconden komt als losse bestanden van 10 seconden. Om elk bestand maar één keer op te slaan en de delen weer aan elkaar te zetten, verkleint onze code op de verwerkingsserver een paar frames van elk bestand tot 64×64 pixels en vergelijkt de kleuren. Dat is gewoon rekenwerk, geen AI: niets in het beeld wordt herkend of gelabeld, en de kleine kopieën worden weggegooid zodra de vergelijking klaar is. Spraakberichten (geluid zonder beeld) worden als audiobestanden opgeslagen.

  6. Ze terugkrijgen

    Downloadlinks zijn ondertekend en verlopen na 15 minuten; de resultatenpagina haalt stilletjes nieuwe op. Als je je herinneringen naar Google Foto's, Google Drive of Dropbox stuurt, uploadt een apart achtergrondproces op onze API-server ze met de toegang die je gaf, en gooit die daarna weg (details hieronder).

  7. Verwijderen

    Je originelen worden verwijderd zodra de verwerking klaar is. Herstelde bestanden worden 72 uur nadat ze klaar zijn verwijderd, of meteen als je op "Mijn bestanden nu verwijderen" drukt. Het schema hieronder geeft de details en de vangnetten.

Wanneer wat verwijderd wordt

Verwijderen gebeurt op drie manieren: door de taak zelf als die klaar is, door een opruimtaak die elke 5 minuten draait, en door levenscyclusregels van de opslag als laatste verdedigingslinie die niet van onze code afhangt.

Wat Wanneer het verwijderd wordt Vangnet
Je geüploade export Zodra de verwerking klaar is Opruimtaak: hooguit 24 u. Opslagregel: alles wat ouder is dan 1 dag.
Herstelde foto's, video's en spraakberichten, ZIP-downloads 72 u nadat ze klaar zijn Opslagregel: alles wat ouder is dan 4 dagen.
Uploads die je begon maar niet afmaakte Als je op "Opnieuw beginnen" drukt, of zodra de uploadpagina 2 uur dicht of offline is geweest (na 20 minuten mailen we je één keer hoe je verder kunt) Opruimtaak uiterlijk na 24 u; een opslagregel breekt onafgemaakte uploads na 1 dag af.
Werkkopieën op de verwerkingsserver Zodra elke herinnering klaar is De hele server wordt na 15 minuten zonder werk verwijderd.
Je e-mailadres en de gegevens van je export Samen met je bestanden, na een laatste e-mail "bestanden verwijderd" als je herinneringen hersteld zijn Dezelfde opruimtaak. Er blijft een anoniem overzicht over (aantallen, groottes, tijden).
Toegang tot Google of Dropbox Als het versturen klaar is Ook als de taak verwijderd wordt, zelfs midden in het versturen.
Je IP-adres Nooit opgeslagen. Alleen een hash met sleutel wordt bewaard, voor limieten. Hashes worden na 24 u verwijderd.

"Mijn bestanden nu verwijderen" verwijdert meteen je bestanden, je e-mailadres en al het andere over jou, en stopt elke levering die nog loopt. Wat blijft, is een anoniem overzicht van de taak (aantallen, groottes en tijden) dat niet naar jou te herleiden is.

Waar alles draait

Aanbieder Wat het voor ons doet Waar
Cloudflare R2 Bewaart je uploads en herstelde bestanden, versleuteld in opslag EU (bucket met EU-jurisdictie)
Hetzner Servers die je bestanden verwerken en onze API draaien EU: Duitsland en Finland (API-server in Duitsland)
Neon Database: status van de export, je e-mailadres, bestandsnamen en aantallen Frankfurt, Duitsland
Cloudflare Levert deze website, verbindt met onze API, botcontrole Wereldwijd netwerk; geen inhoud van bestanden
Resend Verstuurt onze e-mails, vanuit zijn EU-regio, met het meten van openen en klikken uitgeschakeld Krijgt alleen je e-mailadres en het bericht
Umami Telt paginabezoeken, zonder cookies EU; alleen paginaadressen, nooit je bestanden

Onze API-server heeft geen open poorten naar het internet. Verzoeken komen er alleen via een uitgaande Cloudflare Tunnel, en zijn firewall blokkeert al het andere.

Wie wat kan zien

Je privélink

Er zijn geen accounts. Je resultatenpagina is beschermd met een geheim in de link die we je mailen: een waarde van 256 bits, afgeleid van de taak met een sleutel op de server. We bewaren alleen een SHA-256-hash ervan, dus zelfs een kopie van onze database zou geen werkende links bevatten. Het geheim staat na de # in het adres, een deel dat browsers nooit naar webservers sturen, dus het komt niet in de logs van de website. Iedereen met de link kan je resultaten zien, dus behandel hem als een wachtwoord.

Wij

We hebben geen tool om je bestanden te bekijken, en onze processen openen ze nooit voor iets anders dan om ze te herstellen. Onze logs bevatten nooit bestandsnamen, datums of locaties van herinneringen, links of e-mailadressen: een filter haalt ze weg voordat er iets wordt weggeschreven. Maar technisch gezien kan iemand met de sleutels van onze infrastructuur bij opgeslagen bestanden komen zolang ze bestaan. Juist daarom worden ze zo snel verwijderd.

Aanmelden voor e-mails

Als je "mail me als de fotobibliotheek uitkomt" aanvinkt, wordt je adres bewaard op een aparte lijst, los van je export, tot de lancering. Vraag het ons via support@backupmemories.com en we halen het weg.

Een verzoek "Herinner me" is een rij met je adres en een verzenddatum, in een eigen tabel. Een opruimtaak op onze server verstuurt herinneringen die aan de beurt zijn om de paar minuten, en verwijdert elke rij zodra de e-mail weg is. Lukt het versturen na 3 pogingen, een uur na elkaar, niet, dan wordt de rij toch verwijderd. Eén herinnering per adres: opnieuw vragen verschuift alleen de datum.

Rechten bij Google en Dropbox

We vragen bij elke dienst het kleinste recht dat er is om bestanden toe te voegen.

Bestemming Recht dat we vragen Wat het toestaat
Google Drive drive.file Bestanden aanmaken en alleen de bestanden zien die wij hebben aangemaakt. Verder niets in je Drive.
Google Foto's photoslibrary.appendonly Foto's en video's toevoegen aan een nieuw album. We kunnen je bibliotheek niet zien.
Dropbox App-map, files.content.write Alleen schrijven in Apps/BackupMemories.

Zolang een levering loopt, wordt het toegangstoken versleuteld opgeslagen (Fernet: AES-128 met een HMAC) en alleen gebruikt door het verzendproces. Als het versturen klaar is, mislukt of wordt geannuleerd, wordt het token uit onze database verwijderd en bij Google of Dropbox ingetrokken, zodat de toegang ook aan hun kant stopt. Ons gebruik van informatie van Google-API's volgt de Google API Services User Data Policy, inclusief de vereisten voor beperkt gebruik (Limited Use).

De website zelf

  • Statistieken: Umami, in de EU, zonder cookies. Het krijgt het paginaadres tot aan een eventuele "#" of "?", dus de privésleutel in de link naar je export komt er nooit, en het draait alleen op backupmemories.com. Het krijgt nooit je foto's, video's, bestandsnamen, e-mailadres of gegevens over je herinneringen. Geen advertentiescripts.
  • Stappen die we tellen. Om te zien waar mensen vastlopen, krijgt Umami ook een seintje als een van deze dingen gebeurt, met niets anders dan de woorden die je hier ziet: guide-choice (memories of with-chat), upload-started (het aantal ZIP-bestanden, en een groottebereik zoals "5 to 20 GB", nooit de precieze grootte), upload-finished, results-opened, job-failed (de reden, als een van onze vaste woorden zoals export_modified), destination-chosen (welke manier van opslaan), recap-shared (share of download), reminder-set (over 1, 3 of 7 dagen), waitlist-joined, files-deleted en review-opened. Ze zijn niet gekoppeld aan je e-mailadres, je export of je bestanden. Je kunt het controleren: open de ontwikkelaarstools van je browser, ga naar het tabblad Netwerk en filter op "umami". Elk verzoek dat we sturen staat daar, met alles wat het meestuurt.
  • Lettertypen en afbeeldingen komen van ons eigen domein, dus bij het laden van een pagina wordt geen contact gemaakt met Google of een andere dienst voor lettertypen of afbeeldingen.
  • Botcontrole: Cloudflare Turnstile, dat op de uploadpagina op de achtergrond draait in plaats van beeldpuzzels te tonen.
  • Een upload hervatten: de uploadpagina onthoudt je onafgemaakte upload op je apparaat, in de eigen opslag van je browser. Dat wordt nooit naar ons gestuurd, en het wordt gewist als de upload klaar is.
  • Taal: als je een taal kiest (in de banner of onderaan de pagina), onthoudt je browser die in zijn eigen opslag, zodat we het niet opnieuw vragen. Dat wordt nooit naar ons gestuurd.

Wat we niet kunnen beloven

  • Zodra je je herinneringen naar Google Foto's, Google Drive of Dropbox stuurt, of ze downloadt, volgen die kopieën de regels van die dienst of beheer je ze zelf. Wij kunnen ze niet voor je verwijderen.
  • E-mail gaat via Resend en je eigen e-mailprovider.
  • Iedereen met wie je je privélink deelt, kan je resultaten zien en downloaden tot ze verwijderd zijn.

Deze pagina legt uit hoe het systeem werkt; het privacybeleid is de officiële beschrijving van je rechten. Vragen? Mail naar support@backupmemories.com.