Gym Ledger

Privacy Policy

Last updated: August 13, 2026

Gym Ledger ("we", "our", or "us") is a gym membership management application. This Privacy Policy explains what information the app collects, how it is used, where it is stored, who processes it on our behalf, and the choices you have. It is intended to be a complete and honest inventory of the app's data behaviour.

1. Information We Collect

We collect the following categories of information:

a) Account Information (via Google or Apple sign-in)

b) Gym Profile Information (provided by you)

c) Member Data (entered by you about your gym members)

d) Technical and Diagnostic Data (collected automatically)

e) Product Analytics Events (collected automatically, via Firebase Analytics)

The app logs the following named events together with limited, non-sensitive parameters such as plan type, member count milestones, payment method, or feature name:

Analytics events do not contain member names, phone numbers, or other personal data of your gym members.

f) Payment Data (when you subscribe to a paid plan)

g) Member Photos and Gym Logos

If you upload a member profile photo or a gym logo, the image is stored in Firebase Storage under your account's owner ID (paths member_photos/{ownerId}/ and gym_logos/{ownerId}/). Each owner's images are isolated by Storage security rules so that only that account and the staff members linked to it can read them.

h) Bug Reports and Optional Attachments

If you open Settings → "Report a Bug" and submit a report, the app uploads the following:

The attachments are uploaded to Firebase Storage under bug_reports/{your-user-id}/ and a record is written to Cloud Firestore. A copy of the description, device info, and links to the attachments is also written into the mail/ collection, which the Firebase Trigger Email extension uses to forward the report to our support inbox.

Please review screenshots before sending. If a screenshot, video, or voice note captures member personal information (names, phone numbers, payment screens, identification documents, anything visible on a member's row), that information is included in the upload. Removing or blurring sensitive details before submitting a report is your responsibility.

i) Fingerprint Check-In Data (only if your gym uses a fingerprint device)

Fingerprint check-in is a Max plan feature. It works with a fingerprint device that your gym buys, owns, and operates at its own premises. If your gym uses one, we handle the following:

Gym Ledger does not store fingerprint images, and does not store a reusable fingerprint template. The fingerprint is captured by, and stays on, the fingerprint device at your gym. Section 8 explains in full what we do and do not keep, how the data travels, and what happens when a fingerprint is removed.

j) Demo Requests From the Website

If you submit the "Book a Demo" form on gymledger.pro, we collect the name and phone number you type into it. This is the only information that form asks for. Nothing else about your visit is recorded with it, and you do not need an account to use it. We use these details for one purpose only: to contact you about arranging a Gym Ledger demonstration.

To manage that conversation, your name and phone number are also stored in our sales CRM, Bigin by Zoho, alongside the copy held in our own systems. Bigin is listed in section 5 and receives nothing beyond those two fields. Your details are not used for advertising and are not passed to anyone else.

Submitting the form is entirely optional. If you would rather not leave your details, you can email us instead using the address in section 12.

k) Anonymous Member Feedback and Freeze History

l) Public Web Check-In

The temporary public check-in page asks for a member's phone number so our server can look for matching member records at that gym. A successful lookup can return a shortened member name and membership status to the unauthenticated browser so the visitor can choose the correct member and complete the check-in.

For abuse prevention and rate limiting, the server also derives a one-way, secret-peppered hash from the visitor's IP address. The raw IP address is not stored or logged by this check-in service. Rate-limit records use a 24-hour window and are marked to expire 24 hours after the latest request.

2. How We Use Your Information

Data categoryPurpose
Account informationAuthentication, account management, and contact for support
Gym profilePersonalising your experience, populating receipts and invoices
Member dataSubscription tracking, payment records, attendance, expiry notifications, workouts, body-progress views, and water-intake tracking in the member portal
Member photos and gym logosRendering member lists, receipts, and the in-app gym header
Push notification device tokenSending membership expiry reminders and operational notifications
Crash reports, performance traces, App Check attestationsDiagnosing crashes, identifying slow flows, blocking abuse from tampered devices
Product analytics eventsUnderstanding which features are used so we can prioritise improvements
Payment dataProcessing your paid subscription, verifying the payment with the payment provider, supporting refunds
Bug reports and attachmentsReproducing the issue you reported and following up with you over email
Anonymous member feedbackShowing the gym feedback text, rating, category, and optional photo without attaching the submitting member's identity; a separate server-only identity record enforces the daily limit
Freeze and unfreeze audit recordsShowing the gym when a membership was frozen or unfrozen and who performed the action
Public web check-in dataMatching the phone number entered on the check-in page to the correct member, recording the visit, and limiting abuse using a peppered IP-address hash
Fingerprint check-in dataMatching a check-in at your gym's fingerprint device to the right member, showing that visit in attendance, and applying the membership expiry at the device
Demo request details (name, phone number)Contacting you to arrange a Gym Ledger demonstration, and following up about it

We do not use any of the data above for advertising, profiling, or sale. We do not run advertising SDKs in the app.

3. Data Storage and Security

Your data is processed and stored on Google Firebase (Google LLC), which provides:

Image, video, and audio attachments are stored in Firebase Storage and isolated per account by security rules so that one account cannot read another account's media. Razorpay handles its own card and bank data inside its PCI-DSS environment; we never receive that information. Payments made through Google Play or the App Store are likewise processed entirely inside Google's and Apple's own systems; no payment provider shares card or bank details with us.

The App requires an active internet connection to use. When connectivity is lost, the App shows a slim banner and continues to display data already loaded. The App does not offer offline data entry; saving gym data is blocked while it detects no connection. The Cloud Firestore SDK caches your account profile and recent reads locally on the device to keep navigation responsive once you are signed in; this cache is not encrypted separately from Firestore's SDK implementation. App preferences (locale, theme, notification settings) are stored locally using Hive.

Important: If you delete your account, uninstall the App, or clear local storage, all locally cached data on your device is removed. Maintain an active internet connection while using the App.

4. Data Retention

5. Third-Party Services and Processors

The app uses the following processors. Each one receives only the data needed for its purpose:

ProcessorPurposeData categories handled
Firebase AuthenticationSign-in via Google or AppleEmail, name, provider account identifier
Cloud FirestorePrimary data storeGym profile, member, payment, attendance, lead, trainer, plan, expense, workout, body-measurement, water-log, anonymous-feedback, freeze-history, and public-check-in rate-limit records
Firebase Cloud MessagingPush notificationsDevice token, notification payload
Firebase StorageMedia storageMember photos, gym logos, bug-report screenshots, videos, voice notes, pre-submission feedback photos in feedback_quarantine/, and submitted anonymous feedback photos in gym_feedback/
Firebase CrashlyticsCrash and error reportingDevice model, OS, app version, stack traces, breadcrumbs
Firebase AnalyticsProduct analyticsEvent names and parameters listed in section 1(e)
Firebase Performance MonitoringApp-performance telemetryMethod response times, network latency on key flows
Firebase App Check (Play Integrity, App Attest, and DeviceCheck)Anti-abuse and device attestationAndroid Play Integrity verdict or iOS App Attest/DeviceCheck attestation, plus app identity information needed to validate the request
Firebase Cloud FunctionsServer-side payment verificationRazorpay payment ID, order ID, signature; Google Play purchase tokens; Apple transaction information
Firebase Trigger Email extensionForwarding bug reports to support emailEmail payload (description, device info, attachment links)
Razorpay (Razorpay Software Private Limited)Payment processing for paid subscriptions in app versions that use RazorpayEmail, phone, name, payment amount; card and bank details handled inside Razorpay only
Google Play Billing (Google LLC)Payment processing for paid subscriptions bought on AndroidPayment handled entirely inside Google Play. Google Play receives a pseudonymous Gym Ledger account token that ties the purchase to your account; we receive the purchase token and product identifier for server verification
Apple App Store (Apple Inc.)Payment processing for paid subscriptions bought on iOSPayment handled entirely inside the App Store. Apple receives a pseudonymous Gym Ledger account token that ties the purchase to your account; we receive Apple transaction information for server verification
Bigin by Zoho (Zoho Corporation)Sales CRM used to follow up on website demo requestsName and phone number submitted through the "Book a Demo" form. Nothing from the app, and nothing about your gym or its members, is sent to Bigin
Gym Ledger device connection service (runs on Google Cloud, Mumbai region)Passing check-ins and instructions between your gym's fingerprint device and Gym LedgerMember name, phone number, membership end date, card number if used, numeric fingerprint ID, device serial number, check-in date and time. Name, card number, and membership end date are sent to your own fingerprint device so it can display the member and apply the expiry. Fingerprint enrolment data is handled in memory only and is never written to disk or to cloud storage

Firebase services are operated by Google LLC. Their use of your data is governed by Firebase Privacy and Security and Google's Privacy Policy. Razorpay's handling of payment data is governed by the Razorpay Privacy Policy. Payments made through Google Play are governed by Google's Privacy Policy linked above; payments made through the App Store are governed by the Apple Privacy Policy. Demo-request details held in Bigin are governed by the Zoho Privacy Policy.

We do not sell or rent your personal data, and we do not share it with any third parties other than the processors listed above. There are no advertising, attribution, or fingerprinting SDKs in the app.

6. Your Rights

Under India's Digital Personal Data Protection Act (DPDP) 2023 and other applicable laws, you have the right to:

7. Third-Party Personal Data

As a gym owner, you enter personal data of your gym members into the app. By doing so, you confirm that:

8. Fingerprint Check-In (Max Plan)

This section applies only if your gym is on the Max plan and has connected a fingerprint device. If your gym does not use one, nothing in this section applies to you.

How it works

The fingerprint device is hardware your gym buys, owns, and operates. A member registers a finger on the device. The device stores the fingerprint on itself and gives it a numeric ID. Gym Ledger links that numeric ID to the member's record, so a check-in at the device is recorded against the right person.

What Gym Ledger stores, and what it does not

Gym Ledger stores the numeric ID, the record that an enrolment happened on a given device, the check-in date and time, and the device's own details. Gym Ledger does not store fingerprint images, and does not store a fingerprint template that could be reused to recognise anyone. The fingerprint stays on your gym's device.

When a finger is registered for the first time, the enrolment reaches our connection service and a one-way signature is calculated from it and stored briefly. Its only purpose is to tell one enrolment apart from another so the same finger is not recorded twice. It is calculated with a secret key, it cannot be turned back into a fingerprint, it cannot be used to identify or match anyone, and it is deleted once the enrolment has been reconciled. Nothing else derived from the fingerprint is kept.

How the data travels

Your fingerprint device sends its records over the internet to Gym Ledger's connection service, which runs on Google Cloud in the Mumbai region. That link between your device and our service is a direct connection that is not encrypted in transit today. We are working to secure it. Everything after that point, between our service and Gym Ledger's databases, uses encrypted connections, and stored data is encrypted at rest.

Who can see it

The gym owner and every active staff account of that gym can see the fingerprint IDs, the enrolment status, the device records, and the check-ins. The separate biometric staff permission controls who can change or remove an enrolment, not who can view these records. This data is not visible to other gyms, and it is never used for advertising, profiling, or sale. A member who has their own Gym Ledger account can see their own check-ins, including which of them were recorded at the fingerprint device.

Consent

The gym decides to use fingerprint check-in and decides which members to enrol. Under India's Digital Personal Data Protection Act 2023, the gym is the Data Fiduciary for its members' data and Gym Ledger acts as its Data Processor. Before enrolling any member, the gym must give that member a clear notice and obtain their consent, which must be free, specific, informed, unconditional, and unambiguous, and the gym must keep a record of it. Fingerprint check-in must always be optional. Gym Ledger also provides QR check-in and manual check-in, so a member who does not wish to give a fingerprint can still be marked present.

Member rights and removal

A member may withdraw consent and ask for their fingerprint access to be removed at any time, and may do so without ending their membership. The gym removes the member's fingerprint ID in the app. Gym Ledger then clears the numeric ID, deletes the enrolment records it holds, and instructs every registered device to delete that user. Section 4 sets out retention and deletion in full, including what happens when a whole account is deleted. Because the device belongs to the gym, keeping it connected so that removal instructions reach it, and clearing any device that is offline, retired, or replaced, is the gym's responsibility.

9. Children's Privacy

Gym Ledger is not intended for use by individuals under the age of 18. We do not knowingly collect personal data from children. If you believe a child has provided us with personal data, please contact us and we will take steps to delete that information.

10. Data Breach Notification

In the event of a data breach that affects your personal data, we will notify affected users within 72 hours as required by applicable law, and take immediate steps to mitigate the breach.

11. Changes to This Policy

We may update this Privacy Policy from time to time. Material changes (new processors, new data categories, new retention windows) will be reflected on this page along with an updated "Last updated" date. Continued use of the app after changes constitutes acceptance of the revised policy.

12. Contact Us

If you have any questions or concerns about this Privacy Policy, please contact us at:

Email: admin@gymledger.pro