Privacy Policy

BJJ Journal · Last updated: September 14, 2026

BJJ Journal is a personal training journal. This policy describes what information the app handles, where it lives, and what control you have over it. The short version: your journal is yours, we collect almost nothing beyond what you write, and you can take your data or delete it entirely, yourself, at any time.

What we collect

Your account. An email address and a password, or a Google or Apple sign-in. That’s what an account is.

If you use Sign in with Apple you can choose Hide My Email, and Apple gives us a relay address instead of your real one. That works everywhere in the app — it just means the journal is tied to that address rather than the one you use elsewhere.

Signing in with Apple also gives us a token we store for one reason: so that deleting your account can tell Apple to revoke it. It is never used for anything else, and it goes when your account does.

What you write. Training sessions, notes, competitions, promotions, training partners, instructors, schools, tags, and optional photos. All of it is content you create, entered by you, and visible only to you unless you choose to share it.

Optional profile details. Name, birthdate, weight, training start date — all optional, used only to prefill things like competition divisions.

Feedback context. If you send feedback through the app, it includes your email (so we can reply), plus which tab you were on, your screen size, and a coarse platform description like “Safari on iPhone” — enough to diagnose a problem, nothing more.

Nothing else. No analytics trackers, no advertising identifiers, no location, no contacts, no behavioral profiling. The app doesn’t watch how you use it.

Where it lives

Your data is stored in a managed Postgres database hosted by Supabase, isolated per account and enforced at the database level. Photos are compressed on your device and stored in a private bucket — they are not publicly accessible. The app is served by Vercel, and account emails (invites, password resets) are sent through Resend. These three providers process data on our behalf to run the service; none of them use your data for anything else.

Your data is never sold or rented, and we never show it to anyone. There are no ads. There is no feed. Nobody reads your notes. The only thing that ever leaves your journal is a link you make yourself.

Your journal is yours

Export, any time. Profile → Export downloads your complete journal as plain CSV files, readable in any spreadsheet app. No request form, no waiting.

Delete part of it, any time. You don’t have to delete your account to delete something in it. Any session, competition, promotion, partner or photo can be removed from inside the app, on its own. Deleted sessions and competitions wait in Recently Deleted for 30 days before they go for good; everything else goes immediately.

Delete, any time. Profile → Delete Account permanently removes your account and your entire journal — sessions, photos, competitions, promotions, everything — immediately and irreversibly. We recommend downloading your data first; the app offers this right in the deletion flow.

One honest boundary. If training partners logged sessions with you, those entries are their records of their own training. Deleting your account deletes your journal entirely; it does not edit other people’s journals — the same way leaving a gym doesn’t remove you from your teammates’ memories.

Sharing a competition

You can create a link to one competition and send it to whoever you like — a coach, a teammate, a parent. Anyone with the link can read that page; they need no account and no app. You choose what goes on it, and you see exactly what they will see before you send it.

It names other people. A competition record is about the matches you had, so the page names your opponents. We shorten them to a first name and an initial — Eric C. If you want a page to show full names instead, you can switch that on when you create it. That’s your call to make about the adults you competed against, and it’s off unless you turn it on.

We don’t name opponents from juvenile divisions on a shared page. If any division on that competition reads as a juvenile bracket, or your profile says you were under 18 on the day you competed, everyone becomes “Opponent 1”, “Opponent 2” — and the full-names switch can’t override it. The opponent is someone else’s child and that isn’t yours to decide. We leave your notes off that page too, because a note saying “tough match against Eric” hands back the name we just took away. A page like that shows results only. If a juvenile division turns up on that competition later, the page stops naming anyone from then on.

A link lasts 30 days, and then it is gone. The page stops working and we delete our record of the link, including your name on it. There is no way to switch a link off early, so send it to people you mean to send it to. Deleting the competition in the app takes its link down with it.

We don’t track who opens a shared page.

Apple Health (iOS app)

If you turn on Health sync in the iOS app, BJJ Journal writes your saved sessions to Apple Health as workouts — just the date and duration. This is a one-way write that happens on your device: the app never reads anything from Apple Health, and nothing about your health ever reaches our servers or anyone else. You can turn this off any time, revoke access in iOS Settings → Privacy & Security → Health, and delete any workouts BJJ Journal created directly in the Health app.

Health Connect (Android app)

If you turn on Health sync in the Android app, BJJ Journal writes your saved sessions to Health Connect as exercise sessions — just the date and duration. This is a one-way write that happens on your device: the app never reads anything from Health Connect, and nothing about your health ever reaches our servers or anyone else. You can turn this off any time, revoke access in Health Connect → App permissions, and delete any sessions BJJ Journal created directly in the Health Connect app.

Email

We send account email only: invitations, password resets, sign-in confirmations, and replies to feedback you send us. No marketing, no newsletters, no digests.

Age

BJJ Journal is for adults — you need to be 18 or older to use it, and it isn’t directed at children. We don’t knowingly collect information from anyone under 18, and if we learn we have, we’ll delete it.

Changes

If this policy changes, the date at the top changes with it, and meaningful changes will be noted plainly rather than buried.

Contact

Questions: BJJ.Journal@swellhello.com, or the Share Feedback link in the app.