Gym Ledger

Privacy Policy

Last updated: September 16, 2026

Gym Ledger ("we", "our", or "us") is a gym membership management application with a public website. This Privacy Policy explains what the app and website collect, how information 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 their 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.

e.2) Website Analytics (collected only after you allow analytics)

On gymledger.pro, Google Analytics records page views and limited conversion events such as choosing Google Play or the App Store, opening the web app, opening WhatsApp, starting a demo or trial flow, and successfully sending a demo request. Event parameters include the page path, content group, CTA location, store, and contact method. We do not send the name, phone number, email address, or other form contents entered in a demo request to Google Analytics.

The Google Analytics tag is not downloaded until you select “Allow analytics.” If you decline, no website analytics request is sent. You can reopen the choice using “Analytics choices” in the website footer. The website removes URL query parameters before reporting a page location except standard advertising and campaign parameters such as utm_source, utm_medium, and utm_campaign.

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 your name and whichever contact details you provide: a phone number, an email address, or both. You do not need an account to use the form. We use these details for one purpose only: to contact you about arranging a Gym Ledger demonstration.

To manage that conversation, your name and the contact details you provide 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 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.

m) Public Member Self-Registration

A gym can share a Gym Ledger registration link or QR code so a prospective member can submit their own details. The page displays the gym's name and, when the gym has uploaded one, its logo. The visitor provides a name, phone number, and gender, and may also provide an email address and profile photo. The submitted information creates a lead for that gym; it does not create or activate a membership. The gym must review the details and complete the membership setup.

Gym Ledger processes this information on behalf of the gym that published the link. The gym controls how it uses the lead and is the visitor's first contact for correcting or deleting it. Gym Ledger does not use the submitted details for advertising. The registration page does not load marketing analytics, advertising scripts, session replay, or remote fonts.

If a profile photo is provided, the server accepts only supported raster image formats, removes embedded metadata, crops and re-encodes it as a profile image, and stores it in the gym owner's member-photo area. The photo is not used for identity verification, facial recognition, or biometric enrolment.

For abuse prevention, the service verifies Firebase App Check and stores secret-keyed hashes rather than raw public-link tokens, phone-number locks, or IP addresses in its server-only control records. Raw IP addresses, full request bodies, public-link tokens, and App Check values are not intentionally written to application logs by this service. IP rate-limit records expire after 24 hours. A non-personal submission identifier is kept in the browser session only to make retries safe; the form does not save the visitor's name, phone, email address, gender, or photo in local storage, IndexedDB, or cookies.

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
Public member self-registration dataCreating a lead for the gym named on the form, allowing the gym to review the visitor's details and complete membership setup, processing an optional profile photo, preventing duplicate submissions, and limiting abuse
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 and the phone number, email address, or both that you provide)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
Sentry (Functional Software, Inc.)Web-application error reportingSanitised stack-frame coordinates and the coarse diagnostic fields listed in section 1(d); no session replay, user identity, cookies, request content, query parameters, or original error message
Google Analytics for Firebase and Google Analytics 4Consent-gated product and public-website analyticsApp event names and parameters listed in section 1(e); consented website page views and conversion events listed in section 1(e.2)
Firebase Performance MonitoringMobile-app and web-application performance telemetryApp/page startup timing and network response timing
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 the phone number, email address, or both 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. Web error reports are processed by Sentry under its 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