Privacy policy
Your garage is nobody else's business. Here is exactly what that means in practice.
Last updated: 27 August 2026 · Applies to the Bike Stories iPhone app and to bike-stories.12f.dk.
The short version
Your bikes, rides, parts, services, receipts and photos are stored on your device and, if you use iCloud, mirrored to your own iCloud account. We never receive them. There is no Bike Stories account and no Bike Stories server holding your logbook. The app does send anonymous usage analytics so we can see where people get stuck — never your bike data — and you can turn that off in Settings. Nothing is sold to anyone, and there are no ads.
1. Who we are
Bike Stories is made by 12F ApS, a company registered in Denmark. For anything in this policy, write to us via 12f.dk. For the purposes of the GDPR we are the data controller for the analytics described in section 3; for the contents of your logbook there is nothing for us to control, because we never hold it.
2. What stays on your device
Everything you actually log. Specifically:
- Bikes, their details, purchase price and odometer
- Parts, their cost, fitment and wear
- Maintenance schedules and the full service history
- Rides, including routes imported from GPX files or read from Apple Health
- Expenses, documents (manuals, receipts, warranties, insurance) and photos
- Tyre pressures, setup notes, e-bike battery checks and spares in stock
This data is written to a local database on your iPhone, shared with the Bike Stories widget and share extension through an app group on the same device. If iCloud is enabled for the app, it is also mirrored into your private iCloud database, which is governed by Apple's privacy policy and readable only by you. We have no access to it, and no copy of it.
Apple Health
With your permission, the app reads cycling workouts from Apple Health so they can become rides. It reads only what it needs to create a ride — distance, duration, date and route where present. It never writes to Health, and health data is never sent off the device. You can revoke access at any time in the Health app.
Notifications
If you turn on reminders, notifications are scheduled locally on your device for services that fall due and documents that are about to expire. No reminder is sent through a server of ours.
3. Analytics — what the app does send
To understand which features are used and where people abandon a flow, the app sends anonymous product analytics to PostHog (EU hosting, eu.i.posthog.com). This is on by default and there is a switch in Settings → Privacy → Share anonymous analytics that turns it off. When it is off, nothing is sent.
What is sent:
- Product interaction — which screens are opened, which features are used, and events such as opening the paywall or completing a purchase.
- Session replay — an anonymised recording of the app's user interface as you move through it, used to see where a flow breaks down. Text input fields are masked by the SDK.
- Crash and error data — the type of crash, the OS version, and for non-fatal errors a redacted
domain#codetoken plus a fixed context label. Stack traces and file paths are stripped before sending. - Performance data — app-functionality metrics such as launch and load behaviour.
- An anonymous per-install identifier generated by the analytics SDK. It is not Apple's advertising identifier, it is not linked to your name, email or Apple Account, and it is reset if you reinstall the app.
- Coarse app context — app version, device model, OS version, language, and whether your distance unit is kilometres or miles.
What is never sent: the names or details of your bikes, your rides and routes, your parts, services, costs, expenses, documents, photos or notes. None of the analytics data is used for tracking across apps or websites, none of it is joined with data from third parties, and the app contains no advertising SDKs. This is also what the app's privacy manifest declares to Apple.
4. Purchases
Bike Stories Pro is a one-time in-app purchase handled entirely by Apple through StoreKit. We never see your payment details; we only receive from Apple, on your device, the fact that the purchase exists so the app can unlock. Apple's own terms and privacy policy cover the transaction, and Apple provides us with aggregate, anonymised sales reporting.
5. Backups and exports
Backups created by Pro are written to your device and to your iCloud Drive if you choose to put them there. Exported PDFs go wherever you send them. Neither passes through us.
6. What we never do
- We never sell or rent data to anyone.
- We never show ads, and no bike shop, brand or workshop can pay to appear anywhere in the app.
- We never ask you to create an account, and we do not collect your name, email address or phone number.
- We never track you across other apps or websites.
7. This website
bike-stories.12f.dk is a static site hosted on GitHub Pages. It sets no cookies and runs no advertising or tracking scripts. GitHub processes standard server request data (including IP addresses) to serve the site and protect it from abuse; see GitHub's privacy statement. Links to the App Store take you to Apple, whose own policy then applies.
8. Children
Bike Stories is a general-audience utility and is not directed at children under 13. It collects no personal information from anyone, children included.
9. Your rights
Under the GDPR you have the right to access, correct, delete and port your personal data, and to object to processing. In practice: your logbook is already entirely in your hands — delete the app, or delete a bike, and it is gone from your device and from your iCloud. For the anonymous analytics in section 3 there is no identifier that lets us find "your" data, which is by design; you can stop it at any moment with the switch in Settings, and you may write to us at any time with a request or a complaint. You also have the right to complain to your national data protection authority (in Denmark, Datatilsynet).
10. Changes to this policy
If the app starts doing something materially different with data, this page changes and the date at the top changes with it. Older versions are in the site's public git history.
11. Contact
Questions, corrections or requests: 12f.dk. We answer in English or Danish.