Privacy Policy

Last updated: September 24, 2026

This policy explains what Onetap ("the app," "we," "us") does and does not do with your information. It describes the app as it is actually built — every statement below was checked against the source code, not written from memory.

The short version

Onetap has no user account, no password and no advertising. Your ledger — your transactions, categories, budgets and lists — is encrypted and kept on your phone. We do not run a server that stores it.

Three things do leave your phone, and you should know exactly what they are: the audio you record when you hold the microphone, the text of the expense you describe, and the text of payment notifications from the banking apps you choose to add. All three go to an AI provider to be read. Card and account numbers are masked before they go, and one-time passcodes are never sent at all. The sections below set this out in full.

There is one more thing, and it is a small one: Onetap sends anonymous product analytics — a short list of named events such as "a setup step was reached" or "a locked feature was tapped" — so we can see where the app is failing people. No amount, no merchant, no note, no category and no name is ever part of it, and nothing is tied to you. You can turn it off in Settings. Section 9 lists every event.

Information we process

1. Voice recordings

The microphone is used only while you are holding the microphone button. It does not listen in the background, and it does not listen when you are not holding it.

When you release it, the recording is uploaded over HTTPS to Groq (api.groq.com), which transcribes it with the Whisper speech model and returns text. This is not your phone's built-in speech recognition — the audio does leave the device. It is sent without any name, account or identifier attached to it, because Onetap has no account to attach.

2. The expense you describe

The transcribed text — or text you type — is sent to the same provider's language model so it can be turned into an amount, a description and one of your own category names. The result is shown to you in an editor to confirm or change; nothing is saved until you do.

If the provider cannot be reached, Onetap falls back to a parser that runs entirely on your phone and reads plain notes without any network at all.

3. Bank and payment notifications

This is the most sensitive thing Onetap does, so it is worth reading closely.

If you switch on bank automation, you grant Onetap notification access and add the specific banking, wallet or payment apps you want it to watch. From then on:

Notification access can be revoked at any time in Android's own settings, and bank automation can be switched off in Onetap's settings, independently.

While you are not subscribed, payment alerts from those same apps are still captured, masked and one-time-code checked exactly as above — but they are held on your phone and not sent anywhere, because reading them is the part that needs a subscription. They are listed in Settings under "Waiting to be recorded", where you can record them if you subscribe, delete any of them, or discard them all. Anything not dealt with is removed automatically after 30 days.

4. About the AI provider

Onetap currently uses Groq for both transcription and interpretation. Requests are sent over HTTPS and carry no account identifier, because Onetap has no account.

Under Groq's own terms, which we rely on and you can read yourself:

We keep no copy of any of it ourselves, because we operate no server. We may change provider as the app evolves — the app is written so that this is a configuration change — and this page will be updated when we do.

5. Your ledger

Transactions, categories, budgets, tags, lists and recurring entries are stored on your device in Android's EncryptedSharedPreferences (AES-256, with the key held in the Android Keystore). They are not transmitted to us. Uninstalling the app, or clearing its storage in Android's settings, removes them.

6. Exchange rates

When a list's currency differs from an amount you spoke, Onetap fetches reference rates from a public exchange-rate service. That request contains no personal information — it asks only for the current rate table.

7. Google Drive backup (optional)

Onetap can back up your ledger to your own Google Drive so you do not lose it when you change phone. This is entirely opt-in — nothing is backed up unless you sign in and ask for it.

8. Purchases

Onetap is free for three days — no card and no sign-up — and after that some features need a subscription. If you buy one, the purchase is handled by Google Play and its status is managed through RevenueCat, which records that a purchase exists and whether it is active. Onetap never sees or stores your card details — Google Play handles payment entirely.

9. Anonymous product analytics

Onetap uses PostHog to count how the app is being used. This is the only analytics in the app: there is no advertising SDK, no ad network, no ad identifier, and no session recording or screen recording of any kind.

Automatic capture is switched off. PostHog's default behaviour is to record every screen you open, every tap and every app launch; all of that is disabled in Onetap. What is sent is a fixed list of events written by hand, and it is the whole list:

EventWhat it carries
A setup step was reachedThe step's internal name, e.g. voiceInputFragment
Setup finishedNothing
The free trial started, reached day 1/2/3, or endedThe day number
A locked feature was tappedWhich one — voice, bank automation, history, export, backup, extra list
The subscription screen was shownWhether it came from setup or from the app
A purchase or restore finishedWhich plan, and whether it succeeded, was cancelled or failed. Never a price, and never a payment detail
A bank alert was handledThe outcome — recorded, needs review, set aside, held, unreadable — and the package name of the banking app that posted it, so we can fix a bank whose alerts we read badly. Never the alert's text, and never an amount or account number
A spoken entry was interpretedWhether it was understood. Never the words, and never the amount
A transaction was savedHow the editor was filled — by voice, by hand, or from a bank alert. Never what was in it
Bank automation's state, once per launchWhether it is on, off, waiting for a bank to be chosen, paused for notification access, or limited to when the app is open
An export finishedCSV or PDF, and whether it saved or failed. Never the file name, the list, or how many rows were in it
A Google Drive backup or restore finishedWhich of the three it was, and whether it worked. Never the contents of the backup
A budget was set or clearedWhich of the two, and how many budgets the list holds afterwards. Never the category it was on, and never the amount

Nothing from your ledger is in that list. No transaction, amount, merchant, note, category name, budget, list name, currency, tag, email address or account identifier is ever sent to PostHog.

You are not identified. Onetap never tells PostHog who you are — no email, no account, no advertising ID, no device serial. Events arrive against a random identifier the analytics library generates on your device; reinstalling the app produces a new one. As part of any internet request, PostHog's servers see the IP address your device connects from; the project is configured to discard it after deriving an approximate country, so it is not stored against your events.

The library also attaches technical details about the device, which it uses to tell an old Android from a new one: manufacturer and model, Android version, the Onetap version, screen size, locale and timezone.

You can switch it off. Settings → Share anonymous usage data. Turning it off stops collection immediately. PostHog's own privacy documentation is here.

Permissions Onetap requests, and why

PermissionWhy Onetap asks for it
InternetTo reach the AI provider, Google Drive, Google Play billing and anonymous analytics.
MicrophoneOnly while you are holding the microphone button to speak an expense.
Notifications (post)To tell you when a budget crosses its alert threshold, and when a bank notification has been recorded.
Notification accessGranted separately by you, in Android's settings, so bank automation can read payment alerts from the apps you added. Revocable at any time.

Onetap does not request location, contacts, photos, calendar, SMS or call logs, and declares no advertising ID.

What we don't do

Data retention and deletion

Your ledger lives on your device, so uninstalling the app or clearing its storage removes it. Text and audio sent for interpretation are processed to produce an answer and are not retained by us, because we run no server to retain them on; the provider's own retention is governed by their terms, linked above.

The anonymous events in section 9 are held by PostHog on our behalf. They are not linked to you, so there is no account for us to look up and delete — turning the switch off in Settings stops any more being sent.

If you used Google Drive backup, that copy lives in your own Google account — see section 7 for how to remove it.

Children's privacy

Onetap is not directed at children under 13, and we do not knowingly collect information from children under that age.

Changes to this policy

If Onetap's features or data handling change — a different AI provider, a new source of data — this page is updated and the "Last updated" date above changes with it.

Contact

Questions about this policy or how Onetap handles information can be sent to info@truetechsol.org.

This page is a plain-language description of how Onetap actually works. It is not formal legal advice. If you need to satisfy a specific regulation (GDPR, CCPA and similar), have it reviewed by a lawyer familiar with your target markets.