Privacy

Last updated 30 July 2026

This is a photo app, so this page is mostly about photos. The short answer: while you're making a book, your pictures never leave your computer. They're uploaded only when you order a printed copy, and then only so it can be printed.

Who is responsible for your data

The data controller is [LEGAL ENTITY NAME], [STREET ADDRESS], [POSTCODE AND CITY], [COUNTRY], business ID [BUSINESS ID]. For anything on this page — access, deletion, corrections, or just a question — write to [SUPPORT EMAIL ADDRESS].

What stays on your device

When you choose photos, the app reads them locally: it pulls the date and any GPS coordinates out of the file, makes two smaller copies for the editor to draw with, and saves everything into your browser's own IndexedDB storage under the name reframe. That store holds:

  • the original photo files, untouched, so a print can use full resolution;
  • a roughly 1600-pixel copy of each photo for the editor and preview;
  • a roughly 320-pixel thumbnail for the photo strip;
  • your book itself — page layouts, text, stickers, drawings, cover and title.

This is on your machine, not on ours. We can't read it, we can't recover it, and there is no copy of it anywhere else. A full trip can run to several hundred megabytes. Starting a new book replaces the old one; clearing your browser's site data removes it entirely. Your browser can also evict it on its own if the device runs short of space.

One small thing also lives in localStorage: a cache of place names already looked up, so the same coordinates aren't queried twice.

What leaves your device, and exactly when

Five things, in the order you'd meet them.

1. Photo locations, while chapters are being detected

To name the chapters of your trip, the app needs to turn coordinates into places. The GPS coordinates stored in your photos' EXIF data are sent to our server, which passes them to OpenStreetMap's Nominatim service and returns the place name. The photos themselves are never sent, and no coordinates are stored on our side — the answers are cached in your own browser. Photos without GPS data send nothing at all.

2. Your photos, when you place an order

Pressing the order button uploads the original files of the photos you actually placed in the book — not your whole library — to Vercel Blob storage, and records your finished layout alongside them so the print file can be rendered from it. This is the first moment any picture leaves your device.

Worth knowing: each uploaded file gets its own long, randomly-generated web address. The addresses aren't listed anywhere and are effectively impossible to guess, but they aren't password protected either — anyone holding the exact address can open that file. This is how the printing service fetches your pages.

3. Your payment and address details, at checkout

Checkout happens on a page hosted by Stripe, our payment processor. You give Stripe your email, delivery address and card details. The card number never reaches our servers. Stripe tells us the payment succeeded and hands back your email and delivery address so we can have the book made and sent.

4. Your book and your address, when it goes to print

After payment we render the interior of your book to a print-ready PDF and send Prodigi — our print and fulfilment partner — the address of that file, the cover image, and the name and delivery address of whoever the parcel is going to. Prodigi passes the address on to the courier that carries the parcel.

5. Optional AI features, only when you press the button

Two features call an AI model, and neither runs on its own:

  • Generating a cover from a description sends the words you typed to OpenAI's image model. No photo of yours is included.
  • "See it in real life"on the order page sends a picture of the on-screen 3D book — which shows your cover artwork — to Google's Gemini via the Vercel AI Gateway, and asks it to restage the scene around it. If your cover is one of your own photos, that photo goes with it.

Both features are switched off entirely unless the relevant key is configured, in which case the buttons simply aren't shown.

What we keep on our side

Until you order, we hold nothing about you — there is no account and no profile. An order creates one record in our database containing:

  • the order's own reference;
  • your email address and delivery address, as given to Stripe;
  • the amount paid, the currency, and Stripe's reference for the payment;
  • a frozen snapshot of the book you ordered — the layout, and links to the uploaded photos;
  • the rendered print file, the printer's order reference and the tracking link;
  • the order's status and timestamps.

The heavy files — photos and PDFs — sit in Vercel Blob storage; the record itself sits in a Postgres database. We don't store card numbers anywhere, at any point.

Why we're allowed to hold it

  • To perform our contract with you — everything needed to take an order, print it, ship it, and handle a reprint or refund.
  • Because the law requires it — sales and payment records have to be kept for accounting and tax.
  • Our legitimate interest — keeping the site running, spotting fraud and abuse, and understanding roughly how many people visit.

How long we keep things

Order records are kept for as long as Finland's accounting rules require — six years from the end of the financial year in which the sale happened. Uploaded photos and rendered print files are kept while your book is being made and for a while afterwards, so a reprint doesn't need you to upload everything again.

To be straight with you: there is no automatic clean-up job doing this yet. If you want your uploaded photos and print files deleted, email us and we'll delete them — we keep only the transaction record the tax rules oblige us to keep.

Your rights

Under the GDPR you can ask us for a copy of what we hold about you, ask us to correct it, ask us to delete it, ask for it in a portable form, or object to a particular use. Email [SUPPORT EMAIL ADDRESS]and we'll answer within a month; if we ever have to say no, we'll tell you why.

If you think we've handled your data badly you can complain to your national data protection authority — in Finland that's the Office of the Data Protection Ombudsman.

Cookies and counting visits

The Reframe site sets no advertising or tracking cookies. It uses your browser's storage to hold your book, which is not tracking — it never leaves your machine.

We use Vercel Analytics, which counts page views without cookies and without building a profile of you. Stripe's checkout page sets its own cookies, needed to process the payment and prevent fraud; that page is covered by Stripe's privacy policy. If we ever enable the optional Google sign-in, it will set a session cookie for as long as you stay signed in.

Where your data is processed

Our hosting, database, file storage and analytics run on Vercel; payments run on Stripe; printing runs on Prodigi; place names come from OpenStreetMap. Some of these process data outside the EU. Where they do, they rely on the European Commission's standard contractual clauses or an adequacy decision. Each publishes its own privacy terms, linked above.

Children

Reframe isn't aimed at children and we don't knowingly take orders from anyone under 16. If a child has ordered something, tell us and we'll cancel it and delete the record.

Changes

When we add a feature that moves data somewhere new, this page changes with it and the date at the top moves. It's also worth reading the terms of service alongside this.