Legal · the honest version

A few words on privacy.

We built Shelf because you were losing the books you loved in your camera roll. The last thing we want is to be careless with the rest of your data. Here is, plainly, what we collect, why, and what we don't do with it.

Effective July 28, 2026 · Last updated July 28, 2026 · Version 0.5

i.Who we are

Shelf is built by Robin JL., a one-person studio based in France. The service runs at tryshelf.io, with mobile apps live on the App Store and Google Play. This policy covers both the website (including the waitlist) and the apps.

For any privacy question, write to skyftlab@gmail.com. A real person reads every message.

ii.The data we collect, and why

We collect the minimum needed to run your shelf, send you the few emails we send, and figure out which channels are bringing readers in. Nothing more. Rows marked app apply once you have an account; the rest cover the website waitlist.

Your email
So we can write to you when your spot opens up, and so a future Shelf account can be tied to a person rather than a device. Required.
Your name (optional)
For the greeting line on the confirmation page and in the welcome email. If you don't give one, we use the part of your email before the @.
Your waitlist position
Computed from when you signed up and how many friends joined through your referral link. Stored as a number on your row.
Your referral code
A six-character random string assigned at signup. Used in your tryshelf.io/r/XXXXXX link. Not derived from your email.
Who referred you
If you arrived via a referral link, we keep the inviter's code so we can credit their position climb. We do not link people for any other reason.
A hashed IP address
SHA-256 of your IP plus a daily salt - used only to detect duplicate or abusive signups. The raw IP is never stored.
Approximate country
Resolved from your IP at the moment you sign up, then the IP is discarded. Helps us figure out which countries to localize first.
How you found us
UTM parameters and the page that referred you, if your browser sends them. Aggregated to show the "TikTok / Instagram / Direct" breakdown - never tied to a profile.
The books you save app
Title, author, cover, your reading status, and — when you saved it by sharing a post — the URL of that post. This is your shelf: it is the thing the app exists to keep. Stored on our own server, tied to your account.
A photo of a book cover app
Only when you point the camera at a cover or pick a picture from your library to identify a book. The image is sent to our AI provider (below), used to read the title off the jacket, and never stored — not on our server, not in our database. We keep the book it resolved to, not the picture you took.
Your language, and your device's country app
Language so synopses come back in English or French. Country is read from your device when you open a book's "Where to buy" links, so they point at a store you can actually order from — it is used for that request and not stored.
App usage events
Inside the Shelf app: a few key actions — signing in, a book being identified, a book saved, opening your library. First-party only — logged on our own server, tied to your account, used solely to understand what works and improve the app. No third-party analytics SDK, no advertising identifiers, no device fingerprinting.
Plainspoken We don't collect your phone number, your address, your contacts, your Goodreads password, your social-graph, or any third-party advertising identifiers. We do not browse your photo library — the app only ever receives the single picture you choose, and doesn't keep it. The app logs a few first-party usage events (above) on our own server — never sold, never shared.

iii.Cookies & tracking

The waitlist page sets no third-party advertising cookies and no cross-site trackers. We use:

  • A single first-party cookie that remembers whether you've already submitted the form, so we don't show it again on refresh. Expires after 30 days.
  • Privacy-friendly analytics via a self-hosted Umami instance - page views and signup-funnel steps only. No cookies. No fingerprinting. No cross-site tracking. IPs are never stored.

We do not use Google Analytics, Meta Pixel, TikTok Pixel, or any other ad-tech tracker. If that changes, this page will say so before any tracker fires.

iv.What we use it for

  • To run your shelf. Save the books you add, keep their reading status, resolve covers and synopses, and find the rest of a series.
  • To identify a book. When you share a post, or photograph a cover, we send that signal — the post's caption or image, or your photo — to an AI provider to work out which book it is, then confirm it against a book catalog. See section v.
  • To run the waitlist. Calculate your position, credit referrals, tell you when your spot opens up.
  • To send you the few emails we send. Sign-in links, welcome, position updates when friends sign up via your link, and occasional emails about the app. Each non-transactional one has an unsubscribe link in the footer.
  • To understand which channels work. Aggregated counts: how many people came from TikTok this week, how many converted, how many shared their link. Never per-person.
  • To prevent abuse. The hashed IP lets us spot one person signing up 200 times to climb the waitlist.

That is the complete list. We do not sell, rent, license, share for advertising, or otherwise commercialize your data. We never will.

v.Who we share it with

Only the handful of vendors we need to run the product:

  • Hostinger (server hosting) - your account and your shelf live on a private VPS hosted in the EU. We control the server directly. No third party has access to the database.
  • Gmail (email delivery) - used to send your sign-in links and the few other emails we send. Your email address is transmitted to Google solely for delivery purposes.
  • Anthropic (book identification, United States) - when you share a post or photograph a cover, the caption, the post's image, or your photo is sent to Anthropic's Claude API to work out which book it is. Your email address and your identity are never sent — only the signal being identified. Anthropic processes it to return an answer and does not use it to train their models. Nothing is stored on their side by us, and we do not store the image either.
  • Book catalogs (Google Books, Open Library, Hardcover, Apple Books) - we look up titles, authors and ISBNs to resolve covers, synopses and series. These requests carry book titles, never your identity.

We do not share your data with any advertising, analytics, or data-broker third parties. The only external service that receives your email address is Gmail.

Affiliate links. A book's "Where to buy" links point to retailers (Amazon, Bookshop.org, Apple Books, Fnac, Libro.fm, Audible) and carry an affiliate tag so we earn a small commission if you buy. We send the retailer nothing about you; if you tap through, that retailer's own privacy policy applies from that point on.

Plainspoken Identifying a book means showing a caption or a picture to an AI. We think you should know that in plain words rather than find it in a sub-clause. It never travels with your name attached, and the picture is thrown away as soon as we have an answer.

vi.How long we keep it

  • While you have an account: we keep your shelf and your account row, so your books are there when you open the app.
  • If you delete your account: your account, your shelf and your events are deleted — see tryshelf.io/delete.
  • Cover photos you take: never stored, so there is nothing to delete.
  • While you're on the waitlist: we keep your row.
  • If you unsubscribe or ask to be removed: deleted from the live database within 30 days. A minimal record (your email hash + the date) is kept in a suppression list so we don't accidentally re-add you.
  • If Shelf shuts down: we delete the entire database within 90 days of the announcement and send a final email saying so.
  • Analytics events: kept for 12 months, then deleted on rolling basis.

vii.Your rights

Because we operate in the EU, you have the full set of GDPR rights - and we extend them to everyone, wherever you live. You can ask us to:

  • Show you everything we have on you (right of access)
  • Correct anything that's wrong (rectification)
  • Delete your row entirely (erasure)
  • Export your data in a portable format (portability)
  • Stop processing your data for any of the purposes above (restriction / objection)

To exercise any of these, write to skyftlab@gmail.com from the email you signed up with. We will respond within 30 days, usually within 3.

You also have the right to lodge a complaint with your local data-protection authority. In France, that's the CNIL.

viii.Children

Shelf is intended for readers 16 and over. We do not knowingly collect data from anyone younger. If you believe a child has signed up, write to us and we will remove the row.

ix.Security

We do the boring fundamentals well: TLS in transit, encryption at rest, scoped database access tokens, hashed-and-salted secrets, automated backups, no production credentials in any chat or repo. The whole stack runs on a small set of vetted providers chosen specifically because they handle security carefully.

That said, no system is invincible. If something happens, we will tell affected users by email within 72 hours of confirming it, and we will tell you what we know, what we did, and what to do next.

x.Changes to this policy

When we change anything material, we will bump the version number at the top of this page, update the "Last updated" date, and email everyone on the waitlist with a short summary of what changed and why. We will not change this policy quietly.

xi.Contact

Robin JL. - data controller
skyftlab@gmail.com

If you read this entire page, thank you - that means a lot. Now go save a book.