LEGAL

Privacy Policy

What personal data Biltong Buddy collects, why, who sees it, and the rights you have over it.

Version: 2.1 Effective: 23 October 2026 Applies to: biltongbuddy.app and the Biltong Buddy iOS app Contact: [email protected]
01

Who We Are

Biltong Buddy is an app for people who make biltong at home. It lets you log batches, weigh pieces as they dry and keep your recipes. It runs at biltongbuddy.app and as an iOS app.

Biltong Buddy is run by Jason Stark, a sole trader trading as Nerdbase, based in the United Kingdom. Jason is the data controller for your personal data, which means he decides how and why it is used and is responsible for protecting it. In this policy, “we”, “us” and “our” mean Jason Stark trading as Nerdbase. Nerdbase is a trading name, not a company.

For anything about your personal data, email [email protected]. Email is the only contact route we offer, and we read every message ourselves.

This policy explains how we use your data. It is not a contract, and we don’t rely on you agreeing to it as our legal basis. Section 3 sets out the legal basis for each use.

🔒
The short version

We use your data to run the app, keep it working and understand how it is used. We don’t sell it, we don’t show ads, and we don’t track you across other apps or websites. You can download a copy of your data or delete your account from inside the app.

02

Information We Collect

Some of this you give us, some is created automatically when you use the app, and some comes from Apple or Google if you sign in with them.

Your account

  • Email address: to create your account, sign you in and send you account emails.
  • Password: if you sign up with email and password. Our sign-in provider, Supabase, stores it only as a one-way hash. Nobody, including us, can read it.
  • Sign in with Apple: Apple gives us an identifier for your Apple account, your email address (which may be a private relay address if you chose “Hide My Email”) and, the first time only, your name. We also store an Apple sign-in token in encrypted form so we can revoke it when you delete your account.
  • Sign in with Google: Google gives us an identifier for your Google account, your email address and the basic profile details Google shares at sign-in, which can include your name and a link to your profile picture. We never receive your Google password.
  • Sign-in records: when you signed up and last signed in, and which sign-in method you used.
  • Privacy notice record: the date and time you ticked the privacy policy box at sign-up, and which version of this policy it was.

Your profile

  • First name and last name: we use your first name to greet you in the app and in our emails.
  • Country or region: so we can see which countries our users are in.
  • Marketing email choice: whether you ticked the box to hear from us now and then, and when you ticked it. The box starts unticked.
  • Your plan: which plan your account is on. At the moment everyone is on the free plan.

What you create in the app

  • Batches: name, dates, status, notes, recipe used and any drying conditions you record.
  • Pieces and weigh-ins: cut, starting weight, each weight you log and when, and finished pieces.
  • Recipes: recipes you create and how often you use them.
  • Reasons for deleting a batch: if you delete a batch, the app asks why. We keep the batch name, the reason you chose and any details you typed, even after the batch itself is gone, so we can find out what is going wrong. They are deleted when you delete your account.
  • Feedback: if you send feedback from the app, we keep what you wrote, the type of feedback, the page you were on, your browser and device details, the app version, screen size, the last few screens you visited and recent error messages from the app.
  • Beta invites: if you joined with an invite code, which code you used.

Notifications

  • Push notification token: if you allow notifications on your iPhone, Apple gives the app a device token. We store it with the platform and the date you allowed notifications. At the moment we only use it to send occasional test notifications while we build the feature; the daily drying reminders you see are scheduled on your phone itself (Section 5). When we start sending notifications from our server, they will go through Apple Push Notification service. You can switch notifications off at any time in your device’s settings. When you sign out, the app asks our server to remove the token for that device. If that request cannot complete, for example because you are offline, the token stays until you sign in and out again or delete your account.

Error reports, diagnostics and usage

  • Error reports (Sentry): when something goes wrong, the app and our server send an error report to Sentry. A report can include what went wrong, the page and action involved, your browser, device and operating system, the app version and your account ID, a random code that links the report to your account. This is not anonymous: we can match a report to your account, which helps when you contact us about a problem. Before a report leaves your device, the app removes email addresses and sign-in tokens it finds in it. Reports from our server leave out what you sent us, such as batch names, feedback text and profile details. Session replay (screen recording) is switched off.
  • Performance monitoring (Sentry): for about 1 in 10 page loads and server requests, Sentry records how long things took. These records are also linked to your account ID.
  • Diagnostic logs: the app records what happens as you use it in our own database, with your account ID, a random session ID and the app version: which screens you open, when you sign in and out and how, errors and failed syncs, and events such as the web app being installed. Our server adds its own entries for the requests it handles. We use these to investigate problems you report. They are deleted after 30 days, and when you delete your account.
  • Activity heartbeat: while you use the app, it tells our server you are active, about every 30 minutes while the app is open. We keep one record per account showing when you were last active, your platform (web or iOS) and the app version. Each new heartbeat overwrites the last one.
  • Usage statistics: when you do things like start a batch, log a weight or finish a piece, we record the event, its time and a few details, such as meat type, cut, piece shape, your star ratings, weights rounded to the nearest gram, platform and app version. We also record the reason category when you delete a batch (not any text you type) and one event when an account is deleted. These records don’t include your account ID. Because they are individual, timed events, we still treat them as personal data and protect them in the same way.
  • Server and network logs: our server logs each request with the time, the address requested, the result, your account ID and a one-way hash of your IP address (not the address itself). To limit abuse, our server also keeps your IP address in memory for up to 15 minutes, and records failed sign-in attempts with a hashed IP. Cloudflare, which delivers the website, and Supabase, which handles sign-in, also process your IP address and request details to deliver the service and protect it from attack.

We don’t collect photos. Progress photos are a planned feature, and we will update this policy before it goes live.

03

How We Use It, and Our Legal Basis

UK GDPR (and EU GDPR for users in the EU) requires a legal basis for each use of your data. Here is ours.

To run the app for you (contract)

Creating your account, signing you in, storing and showing your batches, pieces and recipes, storing the notification token you have allowed, and sending account emails such as sign-up confirmation, password reset, your data download link and account deletion emails.

To keep the app working and fix faults (legitimate interests)

Error reports, performance monitoring and diagnostic logs. Our interest is finding and fixing bugs, including ones you report to us. We keep these linked to your account ID so we can investigate a problem you tell us about.

To understand how the app is used and improve it (legitimate interests)

The activity heartbeat, usage statistics, your country, reasons for deleting batches and feedback you send. Our interest is knowing how many people use the app, on which platforms and versions, and what is working or not, so we can decide what to fix and build next.

We share totals and averages from this (for example, the number of batches tracked) with people who help us run or fund the project. We never share data about you individually.

To keep the service secure (legitimate interests)

Limiting how many requests can be made, blocking abuse and protecting accounts. Our interest is keeping the service and your data safe.

Marketing emails (consent)

If you ticked the box to hear from us, we may email you tips and occasional news about Biltong Buddy. At present the app has no system for sending marketing emails. When it does, every marketing email will include an unsubscribe link. You can withdraw your consent at any time by emailing [email protected]. Withdrawing doesn’t affect anything else in your account.

If you are under the age of digital consent where you live, a parent or guardian must agree first. Section 12 explains this.

To meet our legal duties (legal obligation)

Answering requests to see or delete your data, keeping a record that we handled those requests, and responding to lawful requests from authorities.

We don’t sell your data, we don’t use it for advertising, and we don’t send it to any AI service.

04

Your Right to Object

✋
You can object to any use of your data that relies on legitimate interests.

That covers error reports, performance monitoring, diagnostic logs, the activity heartbeat, usage statistics, your country, batch deletion reasons and feedback. To object, email [email protected] and tell us what you object to. We will stop, unless we have compelling legitimate grounds that override your interests, rights and freedoms, or we need the data to establish, exercise or defend a legal claim. Error reporting, the activity heartbeat and diagnostic logs run for every account, so stopping them for one account may need a change to the app; we will tell you how long that will take, or whether deleting your account is the only way. If we can’t stop a particular use, we will tell you why.

You can always object to marketing emails, and we will always stop.

05

Storage on Your Device

The app stores some information on your phone or in your browser. We don’t use advertising cookies or cross-site tracking. What we store:

  • Your sign-in session, so you stay signed in. On iOS this is kept in the iPhone Keychain. On the web it is kept in one cookie called biltong-buddy-auth, set by biltongbuddy.app. That is the only cookie we set; it is needed to keep you signed in and is removed when you sign out.
  • A copy of your batches, pieces, recipes and stats, so the app opens quickly and works offline. On the web, pages and recent server responses are also cached by the browser for up to 24 hours. All of this is cleared when you sign out.
  • Changes waiting to sync, so anything you log while offline reaches our server when you reconnect. Cleared when you sign out.
  • Your settings, such as weight and temperature units and reminder choices. These stay on the device after you sign out.
  • Drying reminders (iOS): the daily reminders are scheduled on your phone itself, with the batch name. They never leave the device and are cancelled when you sign out.
  • Your notification token (iOS), kept in the Keychain so the app can remove it from our server when you sign out.
  • Small flags, such as whether you have closed the privacy notice, which screens you have already seen, a random ID for this browser session, and the time you ticked the privacy policy box, kept until your account is created.
  • Your name and email address from Apple: Apple shares these only on your first sign-in, so the app keeps a temporary copy (in the Keychain on iOS, in local storage on the web) until your profile is saved, then deletes it.
  • Error and performance monitoring: the Sentry code in the app reads technical details such as your browser and device type when it builds an error report or performance record.

Everything except the last item is needed to provide the service you asked for. You can object to error and performance monitoring as described in Section 4.

06

Data Security

Your account and app data are stored in a Supabase database. Data is encrypted in transit (HTTPS) and Supabase encrypts it at rest.

The database uses row-level security, so a signed-in user can only read their own records. Our server also uses a privileged connection for some tasks, such as building your data download or deleting an account. It checks who you are on every request and only acts on your own data.

Our server runs on Cloudflare. Sign-in tokens are short-lived and refresh automatically.

⚠️
No system is completely secure

We use sensible, widely used security controls, but no system can promise perfect security. If you find a security problem, please email [email protected]. If a breach puts your rights at high risk, we will tell you without undue delay.

07

Who We Share It With

We use a small number of service providers to run Biltong Buddy. They act on our instructions and may only use your data to provide their service to us. Every provider that handles your personal data for us is bound by a written contract to protect it to the same standard as this policy, except Zoho Mail, whose data processing agreement we have requested and will put in place as soon as Zoho provides it.

Database and Sign-In
Supabase
Stores your account and everything you create in the app and handles sign-in. Its sign-up confirmation, magic link, password reset and password change emails are sent through Zoho Mail. supabase.com/privacy
Error Monitoring
Sentry
Receives error reports and performance records, linked to your account ID, as described in Section 2. Session replay is switched off. sentry.io/privacy
Email
Resend
Sends your data download link, the link to confirm account deletion, and the email that says deletion is done. It receives your email address, your first name and the content of the email. resend.com/legal/privacy-policy
Sign-In Emails and Our Inbox
Zoho Mail
Sends the sign-up confirmation, magic link, password reset and password change emails, and hosts our support and privacy inboxes. It receives your email address and the content of those emails, and anything you email us. zoho.com/privacy
Website and Server Hosting
Cloudflare
Hosts the website, runs our server and protects both from attack. It processes your IP address and request details to deliver pages and block abuse. Our server logs, described in Section 2, are held by Cloudflare. cloudflare.com/privacypolicy
Previous Server Hosting (Being Switched Off)
Railway
Ran our server until October 2026 and is being switched off. Older versions of the iPhone app still send requests to it until they update, so it can receive your IP address and request details. Once its keys are disabled, those versions cannot use it, but their requests still reach it. Railway keeps these request logs until we close that account. railway.com/legal/privacy
Uptime Monitoring
HetrixTools
Checks from outside that our website and server are up. It does not receive data about you. hetrixtools.com/privacy-policy
Sign-In and Notifications
Apple
If you use Sign in with Apple, Apple confirms who you are and shares the details listed in Section 2. On iOS, Apple gives the app the notification token described in Section 2. Apple handles sign-in under its own privacy policy. apple.com/legal/privacy
Sign-In
Google
If you choose to sign in with Google, Google confirms who you are and shares the details listed in Section 2. Google handles sign-in under its own privacy policy. policies.google.com/privacy

The information pages we publish for partners and funders load fonts from Google and a script library from jsDelivr, which receive your IP address and browser details when you open those pages. The app and the rest of the website do not.

We may also disclose data if the law requires it, or to protect someone’s safety. Biltong Buddy is free and takes no payments. If we add paid features, we will update this policy before any payment provider is used.

08

International Transfers

We are based in the United Kingdom, and UK GDPR and the Data Protection Act 2018 apply to how we handle your data. Some providers process data outside the UK. Where they do, we rely on UK adequacy regulations (which cover the European Economic Area, and US organisations certified under the UK Extension to the EU-US Data Privacy Framework), or on the UK International Data Transfer Agreement or the EU Standard Contractual Clauses with the UK Addendum, included in the provider’s data processing terms.

Where each provider processes your data

  • Supabase: our database is hosted in the EU (Stockholm, Sweden). Supabase is a US company, so some support and account metadata may be handled in the US.
  • Sentry: error and performance data is stored in Sentry’s EU data region in Germany. Sentry (Functional Software, Inc.) is a US company and may access it from the US.
  • Resend: sends our account emails from its EU region in Ireland. Resend is a US company and may access your email address and the email content from the US.
  • Zoho Mail: sign-in emails and our inboxes are held in Zoho’s EU data centre.
  • Cloudflare: delivers the website and runs our server from a global network, so your requests and the data our server handles may be processed at a location inside or outside the UK. Cloudflare is a US company.
  • Railway: our previous server, being switched off in October 2026, still receives requests from older versions of the iPhone app. Its request logs are held by Railway, a US company, and may be in the US until we close that account.
  • Apple and Google: sign-in and Apple push notifications are handled by Apple Inc. and Google LLC, mainly in the United States.

If you want a copy of the safeguards for a particular transfer, email [email protected].

09

Your Rights

Under UK GDPR, EU GDPR and similar laws, including South Africa’s POPIA, you have these rights over your personal data. We apply them wherever you live.

👁️
Access
Get a copy of the personal data we hold about you.
✎️
Correction
Ask us to correct data that is wrong or incomplete.
🗑️
Deletion
Delete your account and the data linked to it.
💾
Portability
Get your data in a machine-readable format (CSV and JSON files in a ZIP archive, with a readme explaining each one).
✋
Object
Object to uses based on legitimate interests, and to marketing. See Section 4.
🚫
Withdraw Consent
Withdraw consent for marketing emails or notifications at any time.
⏰️
Restriction
Ask us to pause using your data, for example while we check a correction.

In the app. To download your data, go to Settings › Privacy & Account › Export My Data. We email you a link to a ZIP file that works for 14 days. To delete your account, go to Settings › Privacy & Account › Delete Account. We email you a confirmation link that works for 60 minutes. When you confirm, your account and data are deleted straight away, and we email you to say it is done.

By email. For any right, or if you can’t use the app or can’t receive our emails (for example with some “Hide My Email” addresses), email [email protected]. We may need to check it is really you. We will reply within one month. If a request is complex, we may extend that by up to two more months, and we will tell you why within the first month.

Exercising your rights is free.

10

Complaints

Complaining to us

If you think we have got something wrong with your personal data, you can complain to us. Email [email protected] with “Complaint” in the subject line, and tell us what happened and what you would like us to do. This is what happens next:

  • We confirm we have received your complaint within 30 days.
  • We look into it properly and keep you updated.
  • We tell you the outcome, and what we have done about it, without undue delay.

Complaining to a regulator

You can complain to a data protection regulator at any time, whether or not you have complained to us first. In the UK, that is the Information Commissioner’s Office (ICO) at ico.org.uk/make-a-complaint. If you live in the EU, you can complain to the data protection authority in your country. In South Africa, you can complain to the Information Regulator.

11

How Long We Keep It

  • Account, profile and app content (including batch deletion reasons, feedback, the activity heartbeat and push tokens): until you delete your account. When you sign out, the app also asks our server to remove that device's push token; if the request cannot complete, the token is kept until account deletion.
  • Diagnostic logs: deleted automatically after 30 days. Entries linked to your account are deleted straight away when you delete your account. A count of how many log entries each account sent in each hour is kept for up to 25 hours to stop abuse, even after the account is deleted.
  • Sentry error reports and performance records: deleted by Sentry after 30 days.
  • Data download archives: the link stops working after 14 days, and a daily job then deletes the file, normally within a day. If you delete your account first, the archive is deleted with it.
  • Usage statistics: these don’t include your account ID, so we can’t find and delete yours when you delete your account. We keep them with no fixed end date.
  • Records of data requests: when you ask for a download or delete your account, we keep a record of the request type and dates to show we handled it. After you delete your account, the record is no longer linked to your account, but it still holds the name of any download file we made for you, and that name includes your account ID.
  • Server and network logs: our server’s request log is kept by Cloudflare for seven days. Our previous server’s request logs, including requests from older versions of the iPhone app, stay with Railway until we close that account. Supabase keeps its own sign-in and database logs for the period its plan sets, then deletes them.
  • Backups: our database is on Supabase’s free plan, which does not include guaranteed backups. Supabase may still keep up to 7 daily backups, so deleted data can remain in a backup for up to 7 days.

We don’t currently delete inactive accounts automatically. If we start doing so, we will update this policy and email you before deleting anything.

12

Children and Young Users

Who can use Biltong Buddy. You must be 13 or over. If you are under 18, you need a parent’s or guardian’s permission to use the app. We don’t knowingly collect data from anyone under 13. If we find an account belongs to someone under 13, we will delete it.

What a young user gives us. The same as anyone else: an email address, a first and last name, a country, and whatever you log about your batches, pieces and recipes. While you use the app, it also sends error reports and an “I’m active” signal linked to your account ID, so we can fix problems. Section 2 lists everything.

Marketing emails need your consent. The marketing box at sign-up starts unticked, and we only send marketing emails if it is ticked. In the UK you can give this consent yourself from age 13. In some EU countries the age is higher, up to 16. If you are under that age where you live, don’t tick the box yourself: a parent or guardian has to agree for you. Anyone can withdraw consent at any time by emailing [email protected].

For parents and guardians. You can ask to see or delete your child’s data by emailing [email protected]. We may need to check that you are their parent or guardian before we act.

How the app treats young users today. The UK Children’s Code sets standards for apps that children are likely to use. Some of what it asks for is already true of Biltong Buddy for everyone: there are no ads, we don’t sell data, we don’t track you across other apps or websites, we don’t collect your location (you choose a country yourself), what you log is private to your account, and push notifications only arrive if you allow them. We have not yet finished checking the app against the whole code, and we don’t claim that it meets it in full.

13

AI and Automated Decisions

We don’t make decisions about you by automated means that have legal or similarly significant effects. The drying estimates in the app are ordinary calculations based on the weights you log.

The app doesn’t use AI, and we don’t send your data to any AI service. We do use AI assistants to help build Biltong Buddy: much of the app’s code and parts of its written content, including drafts of this policy, were produced with AI assistance, under the direction of Jason Stark, who reviews the work before it is released. None of your personal data is shared with those tools.

14

Changes to This Policy

We will update this policy when the app, the way we use data, or the law changes. The version number and effective date at the top show which version you are reading. If we make a material change, we will tell you by email or in the app before it takes effect.

Previous versions are available on request from [email protected].

15

Contact Us

✉️
Privacy questions, requests and complaints
Jason Stark trading as Nerdbase, the data controller for Biltong Buddy. Your email comes straight to us, not to a ticketing service.