Privacy Policy
1. Who We Are
WageSense is developed and operated by RoutineLabs, a sole trader business operated by Saurabh Srivastava ("we", "us", or "our"). WageSense is a mobile application for iOS and Android that helps shift workers calculate earnings and track pay history.
For the purposes of data protection law, RoutineLabs / Saurabh Srivastava is the data controller in respect of personal data processed in connection with WageSense.
Our contact address is: support@wagesense.app
2. Information We Collect
2.1 Unauthenticated Use
WageSense can be used in full without creating an account. When you use the app without an account:
- All shift data, pay rates, and calculations are stored exclusively on your device in an encrypted SQLite database.
- No personal data — including your shift records, base rate, or calculated earnings — is transmitted to any server.
- Anonymised session analytics are collected via PostHog (see §4). Financial figures are never included in these events.
- Crash diagnostics are collected via Sentry if the app crashes. These contain anonymised stack traces and your device's OS type and version only. No personally identifiable device identifiers are included.
2.2 Account Creation (Optional)
If you choose to create a WageSense account to enable cloud backup and cross-device sync, we additionally collect:
- Email address — used solely for authentication via a magic link. We do not collect your name or any other identity information.
- Shift data — your shift records (date, duration, shift type, gross pay amount, estimated net pay amount, jurisdiction) are synced to our Supabase database hosted in the EU (Ireland region). Base rates and multiplier configurations remain on-device in encrypted local storage and are not synced to Supabase.
2.3 Analytics Data (PostHog)
We use PostHog for product analytics. The following data is collected:
- Session events (e.g. calculator interactions, shift type selected, tab navigated) — without any monetary values, base rates, or shift financial figures.
- Session replay with all text inputs fully masked
(
maskAllTextInputs: true): no values you type are ever transmitted or recorded. - A pseudonymous distinct identifier (a randomly generated UUID) — not linked to your name or email address.
- Device type category (phone/tablet), OS type and major version, and app version.
- Jurisdiction selection (e.g. "GB", "US") for tax engine analytics — no financial values attached.
We explicitly configure PostHog to never capture: base hourly rates, shift earnings, net pay figures, or any field from the shifts or pay rates data stores.
2.4 Crash Reporting (Sentry)
We use Sentry for crash and error reporting. Sentry receives:
- Anonymised stack traces and error messages.
- Device OS type and version (e.g. "iOS 17.4", "Android 14").
- App version.
We configure Sentry's beforeSend hook to strip any financial data fields
— including base rates, earnings, shift records, and tax figures — before any data
is transmitted to Sentry's servers. No personally identifiable device identifiers
(IDFA, IDFV, advertising IDs) are transmitted.
2.5 Data We Do Not Collect
- Name, phone number, date of birth, or government identifiers.
- Location data.
- Contacts or calendar data.
- Advertising identifiers (IDFA / GAID).
- Data from other apps or websites (we have no advertising SDK).
- Payment card or banking information.
3. How We Use Your Information
| Data | Purpose | Lawful Basis (GDPR) |
|---|---|---|
| Email address | Authenticate you via magic link; communicate account-related notices | Contract performance (Art. 6(1)(b)) |
| Shift data (Supabase) | Cloud backup and cross-device sync of your shift records | Contract performance (Art. 6(1)(b)) |
| Shift data (local device) | Core app functionality — calculator, ledger, tax estimation | Contract performance / user's own device |
| Analytics events (PostHog) | Product improvement, understanding feature usage, conversion funnels | Legitimate interests (Art. 6(1)(f)) |
| Crash diagnostics (Sentry) | Identifying and fixing bugs; maintaining app stability | Legitimate interests (Art. 6(1)(f)) |
We do not use your data for automated decision-making or profiling in any manner that produces legal or similarly significant effects for you.
We do not sell your personal data. We do not share your personal data for cross-context behavioural advertising. We do not share your personal data with any third party except the processors listed in §4 below, who are contractually bound to process data only on our instructions.
4. Third-Party Processors
We share data with the following third-party sub-processors under written data processing agreements. No other third party receives your data.
Supabase
Purpose: Cloud database for authenticated users' shift records and account management (authentication).
Data transferred: Email address; shift records (date, duration, shift type, gross pay amount, estimated net pay amount, jurisdiction, sync metadata).
Server location: EU — Ireland region (eu-west-1). Your data does not leave the European Economic Area through this processor.
Security: Row Level Security (RLS) is enforced on all tables. No user can access another user's data through any API path. Supabase's anon key is present in the app bundle by design; RLS is the technical enforcement boundary that makes this safe.
PostHog
Purpose: Product analytics, session replay, conversion funnel analysis.
Data transferred: Pseudonymous session events (see §2.3). No monetary values, base rates, or shift financial data are ever included.
Server location: United States — PostHog US cloud
(us.i.posthog.com).
Transfer safeguard (EU/UK): Standard Contractual Clauses (SCCs) under GDPR Article 46(2)(c) / UK IDTA. PostHog is certified under the EU–US Data Privacy Framework.
Sentry
Purpose: Crash reporting and application error monitoring.
Data transferred: Anonymised stack traces; device OS and version;
app version. Financial fields are stripped before transmission via
beforeSend hook.
Server location: United States (Sentry.io cloud).
Transfer safeguard (EU/UK): Standard Contractual Clauses (SCCs) under GDPR Article 46(2)(c) / UK IDTA.
5. Data Retention
| Data | Retention Period |
|---|---|
| Email address (Supabase Auth) | Retained while your account is active. Deleted within 30 days of a verified account deletion request. |
| Shift records (Supabase) | Retained while your account is active. Deleted within 30 days of a verified account deletion request. |
| Shift records (local device) | Retained on your device until you delete them individually, use Settings → Privacy → Delete All Data, or uninstall the app. |
| Analytics events (PostHog) | Pseudonymous events retained for up to 24 months. Aggregate analytics (with no individual-level data) may be retained indefinitely. |
| Crash reports (Sentry) | Retained for up to 90 days within Sentry's platform. |
Account Deletion
Authenticated users can delete their account at any time via Settings → Privacy → Delete My Account within the app. This action:
- Permanently deletes all shift records and account data from our Supabase database.
- Purges all locally stored data from the encrypted on-device database.
- Signs you out of all sessions immediately.
- Is irreversible. Deleted data cannot be recovered.
Unauthenticated users can purge all local data via Settings → Privacy → Delete All Data.
6. Data Security
We implement the following technical and organisational security measures:
- Local encryption at rest: All data on your device is stored in an SQLite database encrypted with SQLCipher. The encryption key is stored in your device's secure hardware enclave (iOS Keychain / Android Keystore) and cannot be extracted by other applications.
- Transport encryption: All communication with Supabase, PostHog, and Sentry occurs over HTTPS (TLS 1.2+).
- Row Level Security: Supabase enforces RLS policies such that a user can only read and write their own rows. No user can access another user's shift data through any API path, including direct API calls with the application's public anon key.
- PII scrubbing: PostHog session replay masks all text inputs.
Sentry's
beforeSendhook strips financial data before transmission. Neither service receives base rates, earnings figures, or pay records. - Magic link authentication: We use email magic links for authentication. No passwords are stored.
No security measure is infallible. In the event of a data breach that is likely to result in a high risk to your rights and freedoms, we will notify you and the relevant supervisory authority in accordance with applicable law.
7. Children's Privacy
WageSense is a tool for working adults. The app is not directed at children. We do not knowingly collect personal data from children under the age of 13 (or under the age of 16 for users in the European Union and United Kingdom, where a higher age threshold applies under GDPR). If you believe we have inadvertently collected data from a child under these ages, please contact us at support@wagesense.app and we will delete it promptly.
Section A — GDPR (EU and UK)
Applies to: EU residents & UK residentsThis section applies to you if you are located in the European Union, the European Economic Area, or the United Kingdom. It supplements the general policy above and reflects our obligations under the EU General Data Protection Regulation 2016/679 ("GDPR") and the UK GDPR (as retained in UK law by the Data Protection Act 2018).
RoutineLabs / Saurabh Srivastava is the data controller for the purposes of EU and UK GDPR. Our contact for data protection matters is support@wagesense.app.
A.1 Lawful Basis for Processing
| Processing Activity | Lawful Basis | Details |
|---|---|---|
| Authentication (email, magic link) | Contract performance Art. 6(1)(b) |
Processing is necessary to provide the account and cloud sync service you have requested. |
| Cloud sync of shift data | Contract performance Art. 6(1)(b) |
Cloud sync is the core benefit of account registration. |
| Product analytics (PostHog) | Legitimate interests Art. 6(1)(f) |
Our legitimate interest is improving the app and understanding how it is used. Analytics events carry no monetary values, PII, or financial figures. We have assessed that this interest is not overridden by your interests or fundamental rights given the minimal nature of data collected (pseudonymous events only). |
| Crash reporting (Sentry) | Legitimate interests Art. 6(1)(f) |
Our legitimate interest is maintaining the stability and security of the app. Only anonymised stack traces and OS metadata are transmitted. |
A.2 Your Rights Under GDPR
As a data subject under EU or UK GDPR, you have the following rights:
Right of access (Art. 15)
You have the right to request a copy of the personal data we hold about you and information about how we process it.
Right to rectification (Art. 16)
You have the right to request correction of inaccurate personal data we hold about you.
Right to erasure (Art. 17)
You have the right to request deletion of your personal data in certain circumstances. For account holders, the quickest way to exercise this right is via Settings → Privacy → Delete My Account, which initiates immediate deletion. You may also submit a request to support@wagesense.app.
Right to data portability (Art. 20)
Where processing is based on your consent or contract performance and is carried out by automated means, you have the right to receive your personal data in a structured, commonly used, machine-readable format and to transmit it to another controller.
Right to object (Art. 21)
You have the right to object to processing based on legitimate interests. Where you object to analytics or crash reporting, we will cease such processing unless we can demonstrate compelling legitimate grounds that override your interests. Contact us at support@wagesense.app to lodge an objection.
Right to restriction (Art. 18)
You have the right to request restriction of processing in certain circumstances (e.g. while a rectification request is being resolved).
Right not to be subject to automated decision-making (Art. 22)
We do not carry out solely automated decision-making (including profiling) that produces legal or similarly significant effects. This right is not applicable to our current processing activities.
To exercise any of these rights, contact us at support@wagesense.app. We will respond within one calendar month of receiving your request, in accordance with GDPR Art. 12. We may need to verify your identity before acting on your request.
A.3 International Data Transfers
| Processor | Transfer Location | Transfer Safeguard |
|---|---|---|
| Supabase | EU — Ireland (no transfer outside EEA) | No cross-border transfer; data stays within the EEA. |
| PostHog | United States (us.i.posthog.com) |
Standard Contractual Clauses (SCCs) per GDPR Art. 46(2)(c) / UK IDTA. PostHog is also certified under the EU–US Data Privacy Framework. |
| Sentry | United States (Sentry.io) | Standard Contractual Clauses (SCCs) per GDPR Art. 46(2)(c) / UK IDTA. |
A.4 Data Protection Officer & Supervisory Authority
Data Protection Officer: RoutineLabs is not required to appoint a Data Protection Officer under GDPR Article 37 (we are a small business that does not carry out large-scale processing of special category data). For any data protection enquiry, contact us directly at support@wagesense.app.
Right to lodge a complaint: If you are not satisfied with our response to a data protection concern, or if you believe we are processing your data unlawfully, you have the right to lodge a complaint with a supervisory authority. The relevant authority depends on your location:
- UK: Information Commissioner's Office (ICO) — ico.org.uk
- Ireland: Data Protection Commission — dataprotection.ie
- Other EU member states: Your national data protection authority — a list is available at edpb.europa.eu.
Section B — CCPA/CPRA (California)
Applies to: California residentsThis section applies to you if you are a resident of the State of California. It supplements the general policy above and reflects our obligations under the California Consumer Privacy Act of 2018 as amended by the California Privacy Rights Act of 2020 (together, "CCPA/CPRA").
B.1 Categories of Personal Information Collected
In the preceding 12-month period, we have collected the following categories of personal information from consumers:
| CCPA Category | Specific Data | Business Purpose | Source |
|---|---|---|---|
| Identifiers | Email address (authenticated users only); pseudonymous device UUID (analytics) | Authentication; product analytics | Directly from you; automatically generated |
| Commercial information | Shift records synced to cloud (authenticated users only): shift type, duration, gross pay amount, estimated net pay amount, jurisdiction. Base rates and multipliers remain on-device only. | Cloud backup and cross-device sync | Directly from you |
| Internet or other electronic network activity | Session analytics events (PostHog): app interactions, feature usage, session duration — with no monetary values | Product improvement; conversion analysis | Automatically collected |
| Inferences drawn from other PI | None — we do not draw inferences or build consumer profiles | N/A | N/A |
B.2 Do Not Sell or Share My Personal Information
Because we do not sell or share personal information for advertising, you do not need to opt out of any such practice. If you believe we have mischaracterised any data practice, please contact us at support@wagesense.app.
B.3 Your Rights as a California Consumer
Right to Know
You have the right to request disclosure of the categories and specific pieces of personal information we have collected about you, the sources from which it was collected, the business purpose for collecting it, and the categories of third parties with whom we share it. This policy constitutes our 12-month lookback disclosure. You may also submit a specific request to support@wagesense.app.
Right to Delete
You have the right to request deletion of personal information we have collected from you, subject to certain exceptions. Account holders may delete their data directly via Settings → Privacy → Delete My Account. Unauthenticated users may purge local data via Settings → Privacy → Delete All Data.
Right to Correct
You have the right to request correction of inaccurate personal information we maintain about you. Contact us at support@wagesense.app.
Right to Opt Out of Sale or Sharing
As stated above, we do not sell or share personal information. No opt-out mechanism is necessary, but you may contact us to confirm this at any time.
Right to Non-Discrimination
We will not discriminate against you for exercising any of your CCPA/CPRA rights. We will not deny you goods or services, charge different prices, or provide a different level of service quality as a result of you exercising these rights.
Authorised Agents
You may designate an authorised agent to make a CCPA/CPRA request on your behalf. We will verify the agent's authorisation before processing the request. Contact support@wagesense.app for instructions.
B.4 Submitting a Request
To submit a request under your CCPA/CPRA rights, email support@wagesense.app with the subject line "California Privacy Rights Request". We will respond within 45 days of receipt, with a possible 45-day extension where reasonably necessary and with notice to you.
Section C — PIPEDA (Canada)
Applies to: Canadian residentsThis section applies to you if you are a resident of Canada. It supplements the general policy above and reflects our obligations under the Personal Information Protection and Electronic Documents Act ("PIPEDA") and applicable provincial privacy legislation. We address each of PIPEDA's ten fair information principles below.
Principle 1 — Accountability
RoutineLabs / Saurabh Srivastava is responsible for all personal information under our control. Saurabh Srivastava is our designated Privacy Officer. Contact: support@wagesense.app.
Our sub-processors (Supabase, PostHog, Sentry) are contractually bound to handle personal information in a manner consistent with this policy and PIPEDA.
Principle 2 — Identifying Purposes
We identify the purpose for collecting personal information before or at the time of collection. Specifically:
- Email address: To provide magic link authentication and account management.
- Shift records (cloud): To enable cloud backup and cross-device access to your shift history.
- Analytics events: To understand how the app is used and improve its features.
- Crash reports: To identify and fix bugs and maintain app stability.
Principle 3 — Consent
We obtain consent, express or implied, for the collection, use, or disclosure of personal information.
- Account creation: When you create an account and provide your email address, you are providing express consent to its use for authentication and account-related communication.
- Analytics: By using the app, you consent to the collection of anonymised, pseudonymous session analytics. No financial data is included. You may object to analytics collection at any time by contacting us.
- Crash reporting: By using the app, you consent to the collection of anonymised crash diagnostics. Financial data is never included.
You may withdraw consent at any time, subject to legal and contractual restrictions. Withdrawal of consent for analytics or crash reporting will not affect core app functionality. Contact support@wagesense.app to withdraw consent.
Principle 4 — Limiting Collection
We collect only the personal information that is necessary for the purposes identified. We collect information by fair and lawful means. Specifically, we do not collect name, phone number, location data, advertising identifiers, or any financial figures in our analytics or crash reporting pipelines.
Principle 5 — Limiting Use, Disclosure, and Retention
Personal information is used only for the purposes for which it was collected, except with consent or as required by law. We disclose personal information only to the sub-processors named in §4 of this policy, for the specific purposes described.
We do not sell personal information. We do not disclose personal information to data brokers, advertisers, or any third party for commercial purposes.
Retention periods are set out in §5 above. Personal information is destroyed or anonymised when it is no longer required for the identified purposes.
Principle 6 — Accuracy
We maintain personal information that is as accurate, complete, and up-to-date as necessary for the purposes for which it is used. Your shift records in cloud storage are always an exact reflection of what you have entered in the app. You may correct inaccurate personal information at any time within the app or by contacting support@wagesense.app.
Principle 7 — Safeguards
We protect personal information against loss or theft, as well as unauthorised access, disclosure, copying, use, or modification, using security safeguards appropriate to the sensitivity of the information. Our safeguards include:
- SQLCipher encryption of all on-device data.
- Supabase Row Level Security preventing cross-user data access.
- HTTPS for all data in transit.
- Financial data scrubbing before any transmission to analytics or crash reporting processors.
- Magic link (password-less) authentication.
Principle 8 — Openness
We make our privacy policies and practices readily available to individuals. This
Privacy Policy is publicly accessible at https://wagesense.app/privacy
and is also accessible within the app under Settings → Privacy. We will answer
enquiries about our privacy practices promptly.
Principle 9 — Individual Access
Upon request, we will inform you of the existence, use, and disclosure of personal information we hold about you, and provide you with access to that information, subject to PIPEDA's exceptions. You may request access to your personal information by contacting support@wagesense.app. We will respond within 30 calendar days.
Account holders can also access their cloud-synced shift records directly within the app at any time. You may request deletion of your data via the in-app account deletion flow or by email.
Principle 10 — Challenging Compliance
You may challenge our compliance with this policy and PIPEDA by contacting our Privacy Officer at support@wagesense.app. We will investigate all complaints and respond within 30 days. If a complaint is found to be justified, we will take appropriate corrective action.
If you are not satisfied with our response, you may contact the Office of the Privacy Commissioner of Canada: priv.gc.ca.
9. Changes to This Policy
We may update this Privacy Policy from time to time. If we make material changes — particularly those that expand the categories of data we collect, change how we use your data, or introduce new processors — we will notify you by:
- Displaying a notice within the app; and
- Updating the "Last updated" date at the top of this page.
For significant changes that affect authenticated users, we may also send an email to the address associated with your account. Your continued use of WageSense after the effective date of any changes constitutes your acceptance of the updated policy.
Previous versions of this policy are available on request at support@wagesense.app.
10. Contact Us
For any privacy-related questions, requests, or concerns, please contact us:
RoutineLabs / Saurabh SrivastavaPrivacy and Data Protection Enquiries
support@wagesense.app
We aim to respond to all enquiries within 5 business days, and to all formal rights requests within the statutory timeframe applicable in your jurisdiction (30 days under GDPR; 45 days under CCPA/CPRA; 30 days under PIPEDA).
Governing law: This Privacy Policy and any disputes arising from it are governed by the laws of England and Wales, except where your applicable local law mandates otherwise (including GDPR for EU/UK residents, CCPA/CPRA for California residents, and PIPEDA for Canadian residents — each of which takes precedence over this governing law clause to the extent of any conflict).