Privacy Policy
Last updated: July 20, 2026
This policy explains what data is and is not processed when you use Keepsake Studio (keepsakeqrcodes.com). The short version: composing a keepsake happens entirely in your browser and we never see
what you type or the photos you work with; the only personal data we hold is for people who
choose to create an account, and it is limited to their email, credentials, and the projects
they explicitly saved — each kept for 30 days.
1. Composing keepsakes: 100% in your browser
Everything that goes into a composition — the destination you encode, captions, styling choices, and any photos you place while designing — is processed by JavaScript running on your own device. Your inputs are never transmitted to us to render a preview or produce a download: the page performs no network request containing them, they are not logged, and closing the tab discards them. Downloads are produced locally and go straight to your device.
2. Photos deserve their own sentence
Photos you use while composing are read by your browser and stay in your browser. They are not uploaded, not stored by us, and not part of a saved project record unless they are embedded in the saved composition itself (see section 3). If you never save a project, no trace of your photos or text ever reaches us.
3. Optional accounts and saved projects — stored in our database
Creating an account is optional and never required to compose or download keepsakes. If you create one, we store in our database:
- Your email address and password credentials for sign-in;
- The projects you explicitly save — the project's title, occasion, encoded destination, styling and frame settings, and the saved composition. Nothing is saved automatically.
This data is stored with our database provider, Supabase, acting as a processor, protected by row-level security so that only your authenticated account can read your rows. Passwords are handled by Supabase's authentication service and are never visible to us in plain text. Authentication session tokens are kept in your browser's local storage strictly to keep you signed in — they are not used for tracking.
Retention is 30 days per free project, honestly enforced. Every saved project expires 30 days after you save it. Expiry is enforced by the database's own access policy — an expired project becomes invisible to every client at the moment it expires, and expired rows are permanently purged. This is stated in the studio interface next to each project, not hidden here. Download any keepsake you want to keep beyond its project's lifetime; downloads are files on your device and outside our reach.
Deletion is under your control, and works like this today:
- Individual projects — delete them any time in your studio; deletion removes the row from the database.
- All projects at once — the self-serve "Delete all my projects" button on the account page.
- The account itself (your email and sign-in) — request deletion via the contact page from your account's email address. This last step is a manual request because the site runs without its own server, and deleting authentication records safely requires verifying the request outside the browser. We action such requests promptly, and deleting an account deletes its remaining projects with it.
4. Technical hosting data
Keepsake Studio is hosted on Vercel. Like virtually all web hosting, serving pages involves processing technical request data such as your IP address, browser user-agent, and requested URLs, which may appear in short-lived infrastructure logs used for security, abuse prevention, and operations. This processing is performed by the hosting provider as part of delivering the site; the contents of your compositions are never part of it, because they never leave your browser. See Vercel's privacy policy for their practices.
5. Cookies, local storage, and today's third-party scripts: none beyond the above
The studio works without cookies. The site currently loads no third-party analytics scripts, no advertising scripts, and no tracking pixels. Browser storage is used for exactly two first-party, functional things: your light/dark theme preference, and — only if you sign in — the Supabase authentication tokens described in section 3.
6. Advertising (not active today; disclosed in advance)
To keep the studio free, Keepsake Studio may in the future display advertising provided by Google AdSense. No advertising is served today and no advertising code loads. If ads are enabled, this policy will be updated first, and where consent rules apply, a consent dialog will govern which optional technologies may run before any personalized advertising is shown. When active, Google and its partners would process technical data (such as IP address and page context) as described in Google's advertising policies and Google's privacy policy.
7. Analytics (not active today)
No analytics service currently runs on this site. If aggregate usage measurement is added later, it will be limited to coarse interaction events (for example, "a project was saved"), will never include the text you typed, your photos, or the contents of any composition, and will be disclosed here with the consent treatment it requires.
8. Third parties, summarized
- Vercel — hosting and content delivery (always).
- Supabase — authentication and saved-project storage, as processor (only if you create an account).
- Google AdSense — advertising (not active today; see section 6).
Keepsake Studio does not sell personal information, and does not share it with anyone beyond the processors listed above.
9. Data retention, summarized
Anonymous use leaves nothing with us to retain: compositions never reach our servers. Account email and credentials are retained while the account exists. Saved projects are retained for 30 days each, as described in section 3, or until you delete them — whichever comes first. Technical hosting logs are retained according to Vercel's published retention practices.
10. Your rights and contact
Depending on your jurisdiction, you may have rights to access, correct, delete, or restrict the processing of personal data. For account data we can act directly: the deletion routes in section 3 are available to everyone without a formal request, and access or correction requests can be made via the contact page. For hosting-level technical data we will point you to the correct controller and assist where we can.
11. Changes to this policy
This policy is updated whenever the site's actual behavior changes — for example, if advertising or analytics are enabled, or if retention rules change. The date at the top reflects the latest revision.