Privacy policy for the fatimode Android applications

Effective date: 24 July 2026  ·  Last updated: 24 July 2026  ·  Published by: fatimode, South Africa

WashFlow co.za.washflow.app Job ticketing for car wash and vehicle service businesses
Hustle co.za.hustle.app Point of sale and invoicing for independent sellers and small shops

The short version

This summary is here for readability. The sections below are the policy itself.

1. Who we are and how to reach us

These applications are developed and published by fatimode ("we", "us", "our"), a business registered in South Africa. We are the responsible party for the limited processing described in this policy.

Privacy and data protection enquiries: [email protected]

General support: [email protected] or the help centre

We aim to respond to privacy requests within 30 days.

2. What this policy covers

This policy applies to the two Android applications named at the top of this page, distributed through Google Play. It is shared by both apps because both are built on the same architecture and handle data the same way. Where a specific app differs, that difference is called out explicitly.

It does not cover our Microsoft 365 Excel add-ins, XMatchExclusive and Reference Table Manager. Those are covered by a separate policy.

It also does not cover Google's own handling of your data as a Google Play user or Google Drive account holder. That is governed by Google's privacy policy and your agreement with Google.

3. Our architecture, and why it shapes this policy

Both apps are built as local-first Android applications using Capacitor and React, with an on-device SQLite database. There is no fatimode backend server. We do not run a service that receives, stores or processes your business data, and you are not required to create an account with us in order to use either app.

This is not a policy choice we could quietly reverse. It is how the software is built. The practical consequence is that most of the questions a privacy policy usually has to answer — what we collect, how long we keep it, who we share it with — have the same answer for your business data: we do not receive it at all.

Two narrow exceptions exist, and both are described in full below: optional Google Drive sync, which you control and which routes through your own Google account rather than through us; and subscription billing, which necessarily involves Google Play and our billing provider.

4. What each app stores, and where

All of the following is written to a database on your device and stays there, unless you enable the optional sync described in section 6.

Data stored locally by each application
AppWhat is stored on your device
Both Customer records: name, phone number, and any free-text notes you choose to enter about your own customers. Staff display names. App settings and preferences for that device.
WashFlow Job tickets and their status, vehicle records (such as make, model and registration you enter), the services performed, prices, and which staff member the job is attributed to.
Hustle Sales and invoices: line items, prices, discounts, tax, payment method and status. Monetary values are stored as integers in cents. Inventory: item names, SKUs, prices and stock levels. Which staff member rang up or voided a sale.

Neither app collects a device identifier, advertising ID, contact list, location, or browsing activity. Neither app transmits any of the data in the table above to us, under any circumstances.

No payment card number, bank account number or other payment credential is collected, stored or processed by either application.

5. Staff PINs and the owner passcode

Both apps let you set a short PIN per staff member so that work can be attributed to whoever performed it, and an owner passcode that gates access to administrative settings on the device.

  • PINs and passcodes are stored only as one-way cryptographic hashes, using PBKDF2-SHA256. The value you typed is not stored and cannot be recovered from what is stored.
  • They are held on the device only and are never transmitted, to us or to anyone else.
  • They are not an account or login system for any online service. They are an internal bookkeeping control on that device.

Because we hold nothing, we cannot reset a forgotten PIN or passcode for you. Recovery is handled within the app on the device itself.

6. Optional Google Drive sync

Both apps offer optional multi-device sync as a paid feature. It is disabled by default and nothing is synced until you deliberately turn it on.

How it works

  • You sign in with your own Google account and grant the app access to Google Drive. Until you complete this step, no data leaves the device.
  • Your Google Drive account acts as a private relay between your own devices. We do not operate a server in this flow and we do not receive a copy of the synced data at any point.
  • The email address of the Google account you connect is used solely to identify which Drive account to sync with. It is held on the device and is not sent to us.
  • You can revoke the app's access to your Drive at any time, from within the app or from your Google account permissions page.

Encryption

Hustle encrypts all synced business data on your device before upload, using AES-256-GCM with a key derived from a passphrase you choose. That passphrase is never transmitted. Google Drive therefore stores only opaque, encrypted data that neither we nor Google can read. Hustle writes to Drive's private appDataFolder, which does not appear in your normal Drive file list.

WashFlow syncs into the Google Drive account you connect, where the data is protected by Google's own encryption at rest and by the access controls on your Google account.

In both cases the data is held in an account you own and control, not in one we own. Google's handling of anything stored in your Drive is governed by your agreement with Google.

7. Subscriptions and billing

Paid features in both apps are sold as auto-renewing subscriptions through Google Play Billing. WashFlow is offered with a free trial period followed by a monthly subscription; Hustle offers a paid tier, "Hustle Plus", on the same basis.

Who handles your money

  • Google Play is the merchant of record. Google takes the payment, holds your payment method, and issues receipts. We never see or store your card details.
  • RevenueCat is the billing and entitlement provider we use to confirm that a purchase is valid and that a subscription is still active. RevenueCat receives standard purchase and subscription data from Google Play, together with an anonymous identifier generated by the app for that installation.
  • RevenueCat does not receive your business data. Customers, sales, invoices, inventory, tickets and vehicles are never sent to it.

Auto-renewal terms

  • A subscription renews automatically at the end of each billing period unless it is cancelled at least 24 hours before that period ends.
  • If a free trial is offered and you do not cancel before it ends, the subscription begins and the first payment is taken.
  • Cancel at any time in the Google Play Store, under Payments & subscriptions. Cancelling stops future renewals; access continues until the end of the period already paid for.
  • Refunds are handled under Google Play's refund policy.
  • If your subscription lapses, the app returns to its unpaid state on next launch. Your data stays on your device.

RevenueCat's own handling of the data it receives is described in the RevenueCat privacy policy.

8. Payments taken from your customers

Hustle records sales. It does not process, hold, route or settle payments made by your customers. Where the app displays a payment reference or QR code for a third-party payment provider, it only displays that reference — money does not pass through the application or through us at any point, and we are not a party to the transaction between you and your customer.

WashFlow likewise records the price of a job for your own bookkeeping and does not process customer payments.

9. Device permissions

Both apps request the minimum permissions needed to function:

  • Internet access — used only for subscription validation and, if you enable it, Google Drive sync. Core features do not use it.
  • Camera — requested by Hustle only if you use barcode or QR scanning. Images are processed on the device to read the code and are not stored or transmitted.
  • File access / sharing — used when you choose to export or share an invoice, receipt or report, and only for the file you are exporting at that moment.

Neither app requests access to your contacts, SMS messages, call logs, location, or microphone. Neither app requests background data access.

10. Analytics and crash reporting

Neither WashFlow nor Hustle currently bundles an analytics SDK or a crash-reporting SDK. We do not track how you use the app, and we do not receive automated usage or diagnostic reports from it.

If we introduce analytics or crash reporting in a future release, we will update this policy and our Google Play Data Safety declaration before that release is published, change the effective date at the top of this page, and describe exactly what is collected and how to opt out where applicable.

11. Third parties involved

The complete list of third parties with any role in these apps:

Third parties and what they receive
PartyRoleWhat they receive
Google Play App distribution and subscription billing Your purchase and subscription details, held under your Google account. Governed by Google's privacy policy.
Google Drive Optional sync storage, in your own account Only if you enable sync: your synced app data, encrypted client-side in the case of Hustle.
RevenueCat Subscription validation and entitlement Purchase and subscription status from Google Play, plus an anonymous app-generated installation identifier. No business data.

We do not sell your data, share it with data brokers, or use it for advertising. There is no advertising in either app.

12. Retention and deletion

We retain none of your business data, so there is nothing on our side to delete. Deletion is entirely in your hands:

  • Data on the device. Clear the app's data from Android settings, or uninstall the app. Either removes the local database permanently. We cannot recover it for you.
  • Data synced to your Drive. Use the sync settings in the app to remove the synced copy, and revoke the app's Drive access from your Google account permissions page. You can also delete the app's data folder directly from your Google account.
  • Subscription records. Purchase history is held by Google Play under your Google account and is subject to Google's retention rules, not ours. Records held by RevenueCat can be deleted on request — write to us and we will action it with them.
  • Support correspondence. If you email us, we keep that correspondence for as long as needed to resolve the matter and for a reasonable period afterwards. Ask us to delete it and we will.

To make a deletion request of any kind, email [email protected].

13. Your own obligations as a business

When you record your customers' names, phone numbers and notes in either app, you are the responsible party for that personal information under South Africa's Protection of Personal Information Act, not us. We provide a tool; the records you create in it are yours.

That means it falls to you to collect that information lawfully, to tell your customers what you hold and why, to keep the device secure, and to respond to your customers if they ask about their information. We are not able to answer such requests on your behalf, because we hold no copy of the records.

14. Your rights under POPIA

Under the Protection of Personal Information Act, 2013, you have the right to ask what personal information we hold about you, to have it corrected or deleted, to object to processing, and to complain to the regulator.

In practice, the only personal information we may hold about you as a user is any correspondence you send us and, indirectly through RevenueCat, your subscription status. To exercise any of these rights, email [email protected].

If you are not satisfied with our response, you may lodge a complaint with the Information Regulator of South Africa at inforegulator.org.za.

If you use the apps from outside South Africa, we will honour equivalent requests regardless of where you are.

15. Children

Both apps are business tools intended for use by adults operating a business. Neither app is directed at children, and we do not knowingly collect personal information from children. If you believe a child has provided information to us, contact [email protected] and we will delete it.

16. Changes to this policy

If we change how either app handles data, we will update this page and change the effective date at the top before the affected release is published to Google Play. Where a change is material — for example, introducing analytics or any new third-party service — we will also say so in the release notes for that version.

This policy is published at https://fatimode.org/android/privacy/ and is the version referenced by both Google Play listings.