The Buddy System
Legal

Privacy

The short version: your journals never reach me. The only personal data I hold is the email address you subscribe with, and Stripe holds your payment details, not me.

Last updated 10 September 2026.

In one table: the iPhone apps collect nothing at all. The web apps store your journal in your own browser. I hold your email address so I can sign you in, and Stripe holds your billing details so I don't have to.

Who I am

The Buddy System publishes five apps: TeaBuddy, CoffeeBuddy, TransformationBuddy, T minus 90 and BookBuddy. You can reach me at [email protected] about anything on this page, including a request to delete your data.

The iPhone and iPad apps

They do not collect anything. There is no account, no sign-up, no email field, no analytics SDK, no crash reporter, no advertising identifier, and no network call that carries your content. Everything you write is stored on your device.

If you turn on iCloud sync, your journal syncs through your own iCloud account under Apple's privacy terms. It goes to Apple, not to me, and I have no way to read it.

Two features talk to the internet, and only when you use them:

  • BookBuddy's book search sends the title or author you type to the Open Library API to fetch book details and covers. It sends nothing else.
  • Packet and bag scanning in TeaBuddy and CoffeeBuddy runs entirely on your device using Apple's on-device text recognition. The photo never leaves your phone.

The web apps

Your journal

Everything you enter into a web app (sessions, brews, entries, weights, photos, notes) is written to your browser's local storage on the device you're using. It is not uploaded, I keep no copy of it, and I cannot read it. It does not sync between your devices.

Two consequences worth understanding before you rely on it:

  • If you clear your browser's site data, use private browsing, or switch to another browser or computer, your journal will not be there. Use each app's Export JSON button to keep your own backups.
  • Anyone with access to your unlocked device and browser profile can read it. I can't add a lock I'd have to hold a key for.

Your account

To sell a subscription I need to know who has one, so I store:

  • Your email address, to send sign-in links and receipts, and to match you to your subscription.
  • Which plans are active on it: the app IDs you can open, and the subscription's status and renewal date.
  • A Stripe customer ID, an opaque reference so the billing portal knows which account to open.
  • Sign-in tokens and session identifiers, which are short-lived random strings. Sign-in links expire after 20 minutes and can be used once; sessions expire after 60 days.

That's the whole list. I do not store your name, address, card, IP-based location, or a profile of what you do inside the apps.

Payments

Payments are processed by Stripe. Your card details are entered on Stripe's own checkout page and never touch my servers. Stripe is the data controller for your payment information; I receive only the customer ID, the subscription status, and the email you gave them.

Cookies

One cookie, called bs_session. It holds a random session identifier, is HttpOnly, Secure and SameSite=Lax, and exists solely to keep you signed in. It is strictly necessary for a service you asked for, which is why there is no cookie banner on this site. There are no analytics, advertising, or third-party cookies anywhere on this domain.

Logs

My host, Cloudflare, keeps standard, short-lived request logs (IP address, timestamp, URL, user agent) for security and abuse prevention, as any web host does. I don't build profiles from them and I don't export them anywhere.

Who I share it with

Three processors, each doing one job:

  • Cloudflare: hosting and the storage that holds your email and entitlements.
  • Stripe: payments, subscriptions and invoices.
  • Resend: sending sign-in emails. It receives your email address and the link.

I do not sell personal data, share it with advertisers, or use it to train anything.

How long I keep it

Your account record lives as long as your subscription plus 12 months, so that resubscribing is painless and so I can answer billing questions. After that it's deleted. Stripe keeps invoice records for as long as tax law requires them to. Ask me to delete your account sooner and I will, usually within a few days.

Your rights

Depending on where you live you may have the right to access, correct, export, or delete your personal data, to object to processing, or to complain to a regulator. Since the data I hold is one email address and a list of plan IDs, most of these come down to a single email to [email protected]. I'll respond within 30 days.

Your journal content isn't included in an export request for the simple reason that I don't have it. It's in your browser, and the app's own export button gives you the complete file immediately.

Children

These apps aren't directed at children under 13, and I don't knowingly collect data from them.

Changes

If I change this policy in a way that affects what I collect, I'll update the date above and email active subscribers before it takes effect.