Chalklog Privacy Policy
Last updated: October 15, 2026
The short version
The app collects nothing. There is no Chalklog server, no Chalklog account, no Chalklog cloud, and Chalklog's own code makes no network requests: not to us, not to analytics companies, not to Apple. The only personal data we ever hold is an email you choose to send us (section 13).
Your training log, your measurements and your settings stay on your iPhone, encrypted, until you export them or erase them yourself. The ways any of it can leave the phone are choices you make: sharing a CSV export (section 6), turning on Apple Health writing, which then follows your own iCloud Health settings (section 5), using the Apple Watch app, a remote that shows the workout in progress on your phone, with last time's figures for each exercise in it (section 7), or using Siri and Shortcuts, which see your routine names (section 8).
Every claim below describes how the software is built as of the date above, and you can check the network claims yourself rather than take them on trust (section 2 tells you how). Read the rest the same way: as a description of a design, not as a guarantee that nothing can ever go wrong on your phone. Section 10 explains what no app, ours included, can promise you. This policy is a plain-language notice. The contract is the Terms of Use, which contains our limited warranty that the app matches its described design, and the limits on our liability.
1. What Chalklog stores (on your iPhone only)
Chalklog keeps your log in a local SQLite database on your iPhone.
| Data | Where it lives | Sent to us or to any server? |
|---|---|---|
| Workouts: date, duration, name, notes | Encrypted local database | Never |
| Sets: exercise, weight, reps, set type, RPE, duration, distance, personal-record flags | Encrypted local database | Never |
| Routines and the exercises in them, with the set counts and figures you saved | Encrypted local database | Never |
| Exercises you add or edit, and the built-in exercise list | Encrypted local database | Never |
| Body weight, body fat and tape measurements | Encrypted local database | Never |
| Settings: units, bar and plates, rest timer, appearance, the Terms version you accepted and when | Encrypted local database | Never |
| Unsaved drafts: what you typed in the routine editor, Finish, exercise notes, measurement entry or the exercise form and have not saved yet, kept so that locking or closing the app does not lose it. Cleared when you save or cancel, when what it belongs to is finished, discarded or deleted, at the next launch if what it belongs to is gone, and by Erase everything | Encrypted local database | Never |
| Identifiers of the workouts and body weight entries Chalklog wrote to Apple Health (Erase everything finds Chalklog's samples by their source, not by these) | Encrypted local database | Never |
| App lock PIN (as a salted PBKDF2 hash) and lockout state | Device Keychain only | Never |
| Database encryption key | Device Keychain only | Never |
A training log says when you were at the gym and how your body is changing. We treat it as private: encrypted at rest, kept out of backups, locked behind your PIN or Face ID if you choose, and never sent anywhere by the app. The only copies that exist outside the database are the ones described in sections 5, 6, 7 and 8, each of them your choice.
2. What Chalklog does not do
- No network requests. Chalklog's code contains no networking calls. No articles are downloaded, there is no chat, no community, no feed. The phone app keeps working in Airplane Mode; the Watch link needs Bluetooth, which Airplane Mode turns off by default.
- No account. No name, email, phone number or sign-up of any kind.
- No analytics or telemetry. No Firebase, Mixpanel, Amplitude or anything like them.
- No crash reporting. If Chalklog crashes, we do not find out unless you email us.
- No advertising identifiers. No IDFA, no ad SDKs, no tracking.
- No third-party services. The only third-party dependency is GRDB, a local SQLite library, in a build that includes SQLCipher for database encryption. Neither makes network calls. Their copyright notices and license texts are shown in the app under Settings > About > Acknowledgements, and the Terms of Use list them in section 11.3.
- No in-app purchases. There is no StoreKit code in the app. You pay once on the App Store; the app itself never talks to a payment system.
- No push notifications. The only notification Chalklog ever shows is the rest timer's, scheduled on your phone and delivered by iOS when a rest ends while the app is in the background. It says "Rest is up" and "Next set." and nothing else. Chalklog is never registered with Apple's push service and has no server to send anything from.
- No widgets, no Live Activities, no app groups. No other process shares the app's data container, and nothing from your log appears outside the app on your iPhone, with two exceptions you control: the Apple Watch app shows the workout in progress, with last time's figures for each exercise in it (section 7), and Siri and the Shortcuts app see your routine names (section 8).
- No estimates sold as certainty. Personal records and estimated one-rep max figures are arithmetic on the sets you logged. The app labels estimates as estimates and never tells you what to lift.
Check it yourself. Put your iPhone in Airplane Mode and use Chalklog: logging, history, the calendar, charts, estimates and export all keep working. If you want to go further, run a proxy or packet capture while using Chalklog, or open Settings > Privacy & Security > App Privacy Report on your iPhone, which lists the network domains each app has contacted. Those tests show you the app's network behavior. They cannot show you encryption at rest, the Keychain protection class, backup exclusion or how Erase everything works; for those you are relying on the written description in this policy and in the Terms of Use, backed by the limited warranty in the Terms. If you ever see Chalklog do something this policy says it does not do, email admin@lomalabsllc.com with what you saw and how to reproduce it (please do not send your log). We will investigate and, where a report is confirmed, fix the app or fix the description, whichever is wrong, within a reasonable time.
3. Encryption and app lock
- Database encryption at rest. The entire SQLite database is encrypted with AES-256 (SQLCipher). The key is generated on your device and stored only in the iOS Keychain with a device-only protection class, so it never leaves the device and is not included in any backup.
- iOS file protection on top. The database files also use iOS Data Protection, with the class Apple calls "complete until first user authentication": after your iPhone restarts, the hardware keeps them encrypted and unreadable until you first unlock it. After that first unlock they stay readable to the system until the next restart, even while the phone is locked again; that is what lets the rest timer and the Apple Watch keep working with the screen locked. The SQLCipher encryption above applies at all times.
- App lock PIN. If you set a PIN, it is never stored anywhere. Chalklog derives a PBKDF2 hash using a random salt generated for your install, and keeps only that hash in the Keychain. Failed-attempt lockout state also lives in the Keychain. iOS does not remove Keychain items when an app is deleted, but Chalklog deletes its own old entries on the next fresh install, so deleting and reinstalling starts you over with no data and no app lock. Even if one of those deletions failed, the old key would open nothing and no lock would be set.
- Biometrics. The app lock is either Face ID (or Touch ID) or a PIN, never both. With Face ID, a failed scan falls back to your device passcode, as iOS provides. Biometric matching is handled by iOS; Chalklog never sees your face or fingerprint data. If you later turn off your device passcode, iOS turns off Face ID and Touch ID with it and can no longer check who you are, so Chalklog turns its Face ID lock off, tells you so and offers to set a PIN instead, rather than locking you out of your own log.
- Privacy cover. When you switch apps, Chalklog covers its screen so the app switcher never shows your log.
- The lock covers the iPhone app. It does not cover the Apple Watch app (section 7) or the routine names Siri and Shortcuts can see (section 8).
What these layers do and do not do. Encryption at rest protects your database from someone who copies the files without the key. The app lock protects against someone who has your unlocked phone in their hand. Neither protects against everything. If your iPhone is jailbroken, compromised by malware, unlocked and left with someone who knows your passcode, or affected by a flaw in iOS itself, the protections we build on top of iOS can be bypassed, and we would have no way to know. We describe the layers accurately, we keep them current as best we can, and we do not claim they are unbreakable. Section 10 says more about this.
4. Backups: your Chalklog data is excluded
Chalklog's database is deliberately excluded from iCloud backups and local device backups. The encryption key is likewise unrecoverable from any backup.
This is a privacy feature with a real cost, and we want you to understand it: if you lose or wipe your device, your log is gone. No backup will restore it. If your history matters to you, export it now and then (section 6) and store the file somewhere you trust.
5. Apple Health
The switch is off by default, and there is only one: writing.
- Writing. If you turn it on, Chalklog asks iOS for permission and then writes each finished workout to Apple Health as a strength training session: its start and end time, its name if you gave it one, the number of sets and the total weight lifted. It also writes the body weight entries you log. It never writes individual sets, exercise names, notes or anything you did not log.
- No reading. Chalklog never reads your Health data. It does not look at your heart rate, your other workouts or your body measurements from other apps. The one Health query it makes is during Erase everything (section 11): it asks Health for the samples Chalklog itself wrote, so it can delete them.
- Why writing is off by default. Data in Apple Health can sync to iCloud under your own Apple settings (Settings > [your name] > iCloud > Health). That sync is between your device and Apple, governed by Apple's terms, and outside Chalklog's control. If you enable Health writing, the fact that you trained, how long, how many sets, how much in total, and your body weight may leave the device via your iCloud Health sync. If that trade is not acceptable to you, leave Health writing off. The app is fully functional without it.
- Removing what was written. Turning the switch off does not remove samples already in Health. Erase everything (section 11) asks Health to delete every sample Chalklog wrote; that works only while Chalklog still has Health permission, so if you revoked it, delete the samples in the Health app or grant permission again before erasing. You can change Health permissions any time in iOS Settings > Health > Data Access & Devices > Chalklog.
- The watch and Health. The Apple Watch app never touches Apple Health. It asks for no Health permission, reads nothing and writes nothing (section 7).
6. Export and import
You can export your workouts, measurements, exercise list and routines as four CSV files, with a short README, generated on your device in a folder in the app's temporary storage. iOS then shows the standard share sheet and you decide where they go. When the share sheet closes, Chalklog deletes that folder, and it deletes any leftover the next time it starts. The export holds every finished workout (with its supersets, rest times, set completion times and the routine it came from), every routine, every measurement and your exercise list, hidden exercises included, with weights at full precision. Not included: app settings, a workout still in progress, and the record of which Apple Health samples Chalklog wrote. If you send a file to iCloud Drive, email or another service, that copy is governed by that service's privacy policy. That is your call to make, and yours only. Your data is never locked in.
Import reads the CSV files you pick with the iOS file picker. Each file is read once on your device and nothing about it is sent anywhere. Chalklog recognises all four of its own files and the common logging apps' layouts by their column names, so an export restores your workouts, measurements, exercises and routines. Exercises Chalklog does not have become custom exercises. A Chalklog export names every workout, routine and exercise by an id, so two with the same name stay separate and anything already in your log is skipped, which makes importing the same export twice safe. In a file without those ids, a routine with the same name as one already present is skipped. A workout with the same start minute and the same name as one in your history is skipped; a measurement already present is skipped; rows without a readable date or exercise are skipped and counted; numbers outside the app's limits (for example more than 1,500 kg or 1,000 reps in a set) are left out; and if the file gives no workout duration, Chalklog estimates one from the number of sets. Imported sets are checked for personal records like any other.
7. Apple Watch
The Watch app is a remote for the workout on your phone, not a second copy of your log.
- What the phone sends. Over WatchConnectivity, Apple's direct link between your own devices, the iPhone sends the watch your unit, your default rest time, up to 30 routine names with how many exercises each holds and the date you last used it, the name, date and exercise count of your last finished workout (for Repeat last workout), and the workout in progress: exercise names and every set's weight, reps, time, distance, type and whether it is done, plus the rest timer. For each set in that workout it also sends the figures the set takes if you check it blank (section 9): those of the nearest set above it of the same type, which the watch already has, or else those of the set of the same type in the same position that you completed for that exercise last time. No other history, no measurements, no notes.
- What the watch sends back. Commands only, and only while your iPhone is reachable: start this routine or repeat your last workout, this set is done (or not) with these numbers, change a set, add a set, start, adjust or skip a rest, finish or discard. The watch also asks the phone for its current state when the app opens and when the iPhone comes back in range. It never queues a command for later: if the iPhone cannot be reached, the watch says so and sends nothing. Each command names the workout it was sent for and the time it was sent. The phone checks every value before applying it, ignores a command for a workout that is no longer in progress, ignores a start that arrives more than ten minutes after it was sent, and ignores every command until you have finished setup and accepted the Terms on the phone.
- What the watch keeps. watchOS stores the latest snapshot the phone sent in the watch app's own storage, under watchOS's protection and outside Chalklog's encrypted database, until a newer snapshot replaces it. When you erase on the phone, the watch's snapshot is replaced the next time the devices connect. The watch has no history of its own.
- The app lock does not reach the watch. Anyone who can use your unlocked watch can see the workout in progress, last time's figures for each exercise in it, your routine names and the name of your last workout. If that matters, do not install the Watch app.
- No Health, no workout session. The Watch app never touches Apple Health and never starts a workout session. When a rest ends and your iPhone is locked, the tap on your wrist is the phone's rest notification (section 8), which iOS forwards to the watch you are wearing. While the Watch app is on screen, it taps your wrist itself when the timer reaches zero.
- The link is Apple's. WatchConnectivity is provided by iOS and watchOS. We use it as designed and describe it as we understand it; its security is Apple's to build and keep. Transfer can be delayed or fail, and the watch does nothing without the iPhone in range.
8. The rest timer, notifications and Siri Shortcuts
The rest timer runs on your phone. If Chalklog is in the background when a rest ends, iOS shows one local notification, if you allowed notifications, that says "Rest is up" and "Next set."; it does not name an exercise or a weight. Chalklog is not registered for push notifications and has no server to send them from. You can turn the sound and the automatic start off in Settings. When your iPhone is locked and you are wearing your Apple Watch, iOS shows that notification on the watch instead, which is the tap on your wrist. A notification or a watch tap can be late or not arrive, for example under a Focus mode or when the devices lose their connection; do not rely on it for anything that matters to your safety.
Siri Shortcuts. Chalklog offers three actions to Siri and the Shortcuts app: start an empty workout, start a routine, start the rest timer. To let you pick a routine by name, your routine names are made available to Siri and the Shortcuts app on your device, and Siri says the routine's name when it starts one. The actions run only while your iPhone is unlocked, and while Chalklog's own app lock is on they change nothing and answer only "Open Chalklog to do that." until you have opened the app past the lock, so they do not reveal whether a workout is in progress. Nothing else from your log is exposed this way, and nothing is read or chosen for you. Siri's own processing is Apple's and follows your Siri settings.
9. Records, estimates and what they are not
Chalklog marks personal records by comparing a set with your own earlier sets, and shows an estimated one-rep max computed from a set of 12 reps or fewer with a published formula (Epley or Brzycki, your choice). These are arithmetic on numbers you typed or imported. They are not a test, not a target and not advice. Chalklog has no recommendation engine: it does not generate workouts, suggest weights or tell you what to lift next. When you start a routine, set rows show the figures you saved in it or logged last time, and a set you check without typing takes the figures of the nearest set above it of the same type or, if there is none with figures, of the set of the same type in the same position that you completed for it last time (a working set never takes a warm-up's figures, a drop set never a working set's); the "Last time" column beside each set shows that source. A timed set takes the time and distance together, and only when both are blank. A blank set with nothing to take its figures from is not checked: the phone asks you for them and the watch says so. Those are your own numbers carried forward. The plate calculator and warm-up table work on a weight you enter.
Strength training carries a risk of injury. Nothing in the app is medical or fitness advice; if something concerns you, speak with a qualified professional.
10. What no app can promise
Everything in this policy describes the software we ship, and you can verify its network behavior in an afternoon. Here is what this policy is not: a guarantee that your data is safe no matter what.
No software is free of defects, and none is immune to compromise. Chalklog runs on a phone we did not build, on an operating system we do not control, next to other apps you chose. If the phone is lost while unlocked, if iOS has a vulnerability, if you install something that should not be trusted, if you back up or screenshot or share data yourself, if your Health writing and iCloud sync are on, if your watch is on someone else's wrist, or if there is a bug in our code that we have not found yet, your data may be exposed or lost, and nothing on this page would have prevented it.
So please read the statements in this policy for what they are: a description of how the app is designed, as accurate as we can make it on the date above, together with the tools to check the parts you can check. They are not a guarantee that nothing can go wrong. The Terms of Use put this in legal language: a limited warranty that the app matches its described design, with a fix-or-refund remedy, and a limit on what we can be held liable for beyond that. We would rather tell you that here, plainly, than have you find it in the fine print.
Our commitment is this: we will not add data collection, we will not quietly change the architecture, and if we learn that any claim on this page is wrong, we will fix the app or correct the claim. If the architecture ever changes in a way that matters, the Terms of Use change with it, and the app asks you to accept the new version before you continue.
11. Erasing your data
Settings > Erase everything permanently:
- Erases the database (every workout, set, routine, exercise, measurement and setting) and re-keys it with a fresh key, so the old key opens nothing
- Deletes the PIN salt, PIN hash and lockout state from the Keychain
- Deletes caches, temporary files and any export files still on the phone
- Restores the built-in exercise list
- Asks Apple Health to delete the samples Chalklog wrote (only items Chalklog created; we cannot touch other apps' Health data), which needs Chalklog's Health permission to still be granted (section 5)
If any step fails, Chalklog tells you exactly what could not be deleted instead of reporting false success.
Deleting the app removes the database and local files. iOS does not remove Keychain items when an app is uninstalled, so Chalklog cleans up after itself: on the next fresh install, when no database is present, it deletes its old encryption key, PIN hash and lockout state before doing anything else. Uninstalling does not remove samples already written to Apple Health; use Erase everything first if you want those gone. The watch keeps its last snapshot until the devices next connect (section 7).
There is no server copy to chase down. When it is gone, it is gone.
12. Children's privacy
Chalklog is not directed at children under 13. The Terms of Use require users to be at least 13, and a parent or guardian to accept the Terms for anyone under 18. Chalklog does not ask for or record anyone's age, and collects no personal information from any user of any age, because there is nothing to collect it with.
13. Your rights, and the one thing we do hold: your email
The app sends no personal data to us or to anyone. We therefore have no user data to access, correct, port or delete: everything is on your device, under your control, and access, portability (CSV export) and erasure exist by default. If a privacy law where you live gives you rights over data a company holds about you, you are welcome to ask, and the honest answer will be that we hold none from the app. The same is true of laws about consumer health data: we are not able to collect, share or sell it, because the app has no way to send it to us.
If you email us. The one kind of personal data we do hold is correspondence you choose to send to admin@lomalabsllc.com: your email address, your name if you give it, and whatever you write, which for an arbitration opt-out or a refund request includes the approximate date you bought the app. We use it only to answer you and to keep a record of opt-outs, refunds and dispute notices where the Terms of Use require one. We do not share it, sell it or use it for marketing. A refund we pay ourselves needs a way to pay you, so we will ask for a PayPal address or similar and delete it once the refund clears. We keep ordinary correspondence only as long as we need it to help you, then delete it, and we keep opt-out, refund and dispute records for as long as the Terms make them relevant. You can ask us to delete your correspondence at any time, and we will unless we need it for one of those records. Please do not send us your log; if you do, we delete it once your report is handled.
Our website. Our website runs no analytics and sets no cookies. Our hosting provider may keep standard server logs, which we do not use to identify anyone.
14. Changes to this policy
Updates will be reflected in the "Last updated" date above and noted in App Store release notes when significant. Because there is no account, we have no way to notify you individually, so the date at the top is the record. The core commitment, no network code in the app, is an architecture rather than a setting. We will not add data collection, and if the architecture ever changes the Terms change with it and the app asks you again. This policy is a plain-language notice, and the Terms of Use are the contract. If the two ever seem to disagree about what the app does, tell us, because one of them is wrong and we will fix it.
15. Contact
Email: admin@lomalabsllc.com
We are a small independent team and aim to reply within 5 business days.
Bottom line: Chalklog is built so that we never have your data. We cannot sell what we do not have, leak what we never received, or hand over what does not exist. What we cannot do is make your phone unbreakable, so treat this page as an honest description you are welcome to test, and read the Terms of Use for what that means if something goes wrong.