Privacy
Privacy Policy
Last updated 23 September 2026
KeepMySnaps is run by one person in Finland, not by a company. This page says exactly what happens to data when you use the site. It's short because the site does very little.
Your photos never leave your device
When you drop an export onto this site, the ZIP is opened, read and rewritten inside your browser tab, by code that was already downloaded when the page loaded. Nothing is uploaded. There is no address on this site that accepts a file, so there is nowhere for one to go. If you'd rather verify that than trust it: load the page, disconnect from the internet, and run your export through anyway. It works.
The fixed copy is written by your browser straight onto your own computer: into a folder you pick in Chrome, Edge and the other browsers built on Chromium, or as a ZIP handed to your browser's own download in Safari and Firefox. I never have a copy, which also means I can't recover anything for you if something goes wrong. While a run into a folder is unfinished, two small files sit in that folder so a stopped run can carry on: keepmysnaps-progress.json, listing which photos are done, and keepmysnaps-plan.json, a copy of your list of memories with their dates, locations and captions, so the run can finish even after you've deleted the ZIP that list came in. Both are deleted when the run finishes, and like everything else they never leave your computer.
Since August 2026 that isn't only a promise about how the code is written. Every page is served with a content security policy that permits network requests to this site and nowhere else, so the browser itself refuses to send your files anywhere, including to me, and including if one of the open-source libraries doing the unzipping or the video encoding were ever tampered with upstream. Your browser's developer tools will show you the header.
What's stored in your browser
Nothing, unless you pay. If you do, two things are kept in this site's local storage. Your Stripe Checkout session id, under the name kms.session, so the file limit stays unlocked when you come back: it's a payment receipt id rather than an identifier for you, and it's re-checked on every visit. And under kms.device, a random name your browser makes up for itself. It isn't worked out from anything about you or your computer and means nothing outside this site. It exists so one purchase can be used on a few of your own devices rather than passed around to strangers. Clearing site data for this domain removes both.
There are no cookies. No analytics, no tracking pixels, no advertising, no social embeds, no session recording, and no third-party scripts of any kind. Even the fonts are served from this domain rather than fetched from Google.
What crosses the network
Four things, and only four:
- Loading the page. The site is hosted on Cloudflare, which, like every web host, records standard request information in its server logs: IP address, browser user agent, which page was requested, and when. I don't use those logs to build a picture of anyone, and there is nothing in them connecting a request to an export.
- Starting a payment. Clicking unlock sends an empty request to this site's checkout endpoint, which asks Stripe to open a checkout page and sends your browser there. That request carries nothing about you and nothing about your files.
- Confirming a payment. When you come back afterwards, your browser sends the Checkout session id and its random device name. The first time, the site asks Stripe a single question: was this session paid? After that it checks its own record instead. The device name is compared with the few that purchase is already in use on. Nothing else is sent.
- Getting an unlock back. If you paid and then opened the site somewhere else, you can ask for the link again. You type the address you paid with, this site asks Stripe whether that address bought anything, and if it did the link is emailed there. The address is used for those two things and is not written down here. The link carries a pass that expires after two days and lets the device that opens it in, even if your purchase is already on as many devices as it covers.
Payment
Payments are handled by Stripe. Card details are entered on Stripe's own page and never touch this site. Stripe processes that payment as its own data controller under its privacy policy, and will hold whatever you gave it, typically an email address for the receipt.
After a successful payment, this site's database, run by Cloudflare, keeps one row for each device the purchase is used on, holding: the Stripe checkout session id, that device's random name, when it was first used, and when it was last used. That is the entire row. No name, no email address, no IP address, no amount, nothing about your photos. The database is reachable only by this site's server.
What doesn't exist
There are no accounts and no sign-in. There is no mailing list. Nothing is sold, shared, rented or handed to advertisers. There is nothing here to sell. No profiling and no automated decision-making happens about you.
How long things are kept
Payment rows are kept while they're needed for refunds and bookkeeping, and a device's row is removed when a newer device takes its place. Everything else isn't kept, because it isn't collected. Request logs are held by Cloudflare on its own schedule rather than mine.
Your rights
Under the GDPR you have rights of access, correction, deletion, restriction, objection and portability over personal data held about you. In practice the only records here that could be tied to you are the rows for your purchase, and the link runs through Stripe. Email me from the address on your Stripe receipt, or send the receipt, and I'll delete them. Some payment records may have to be kept for tax and accounting reasons, which is a legal obligation rather than a preference. You can also complain to your data protection authority, which in Finland is the Office of the Data Protection Ombudsman.
Age
The site collects nothing, but payments should be made by someone old enough to make them. If you're under 18, ask whoever owns the card first.
Changes
If this page changes, the date at the top changes with it. There's no mailing list to notify you, and I'm not going to start one for this.
Contact
There's a form at /contact. It goes to one person, so allow a couple of days for a reply. The form stores nothing: the message is forwarded and not kept.
KeepMySnaps is not affiliated with, endorsed by, or connected to Snap Inc.