a privacy policy, with no holes in it

Your bills are leaks. Your data isn't.

LEAKS has no accounts, no ads, no analytics and no servers of our own. Your bills live on your phone. If you turn on Google Sheets sync, they also go to a sheet in your own Google Drive, and the only other person who sees them is a partner you choose to share it with.

Effective October 7, 2026 Android & iOS Developer: Jan Aguja

The short version

if you only read one thing, read this

Your boat lives on your phone

Bills, amounts, reminder days, patch history, boats and settings are kept in a local database on your device. Pick "Local only" and nothing ever leaves it.

Sheets sync is optional, and the sheet is yours

Turn it on and LEAKS writes to one spreadsheet in your own Google Drive. It can only touch files it created or that you picked (the drive.file scope). Your data never passes through us.

A partner sees what you share

Collaborate shares that one sheet with an email address you type in, through Google Drive. They can see and edit your bills until you remove them in Drive.

Nothing is watching

No ad networks, analytics or crash reporters. Reminders are scheduled on your phone, not sent from a server. No location, contacts, camera or microphone access, and no in-app purchases.

Where does it go?

tap a piece of data and follow the water

Everything LEAKS touches ends up in one of these five places. Some things go to two of them, for example your bills sit on your phone and, if you sync, in your sheet too. Pick one to see where it lives and how long it stays.

Your phone
📱 On device

Local database and preferences, inside the app's private storage.

Only if you sync
📊 Your Google Sheet

One spreadsheet in your own Drive. You own it, not us.

Google
🔑 Sign-in & sharing

Google Sign-In, Drive sharing and the Picker, under Google's policy.

janapps.com
🔗 Link pages

Two tiny pages that hand you back to the app. They store nothing.

Nowhere
🚫 Never collected

LEAKS never asks for it at all.

  • Your leaks (bills) → your phone, plus your Google Sheet if you sync. Name, amount, category, how often it repeats, reminder day and colour.
  • Patch history → your phone, plus your Google Sheet if you sync. Each cycle's status, when you patched it, and the actual amount if it differed.
  • Boats → your phone, plus your Google Sheet if you sync. Boat names, start and sink dates, cycles survived, misses.
  • Settings → your phone. Your currency code is also written to the sheet if you sync.
  • Reminders → your phone, scheduled with the operating system. Never sent from a server.
  • Your Google account → Google. Only if you turn on sync. The app shows your first name and email on the setup screen and doesn't send them anywhere else.
  • Your partner's email → Google Drive, to share the sheet. Google emails them. LEAKS doesn't keep it.
  • Invite link → janapps.com/leaks/join, which opens LEAKS. Contains the sheet's ID only.
  • Picker access token → janapps.com/leaks/picker (in the part after #, never sent to our server) and then Google's file picker.
  • Payment details, location, contacts, other Drive files, analytics → nowhere. LEAKS never collects them.

The full policy

same story, every plank

01Who we are

LEAKS ("the app") is a recurring expense tracker for Android and iOS, developed and published by Jan Aguja, an independent developer in the Philippines ("we", "us"). This policy explains what information the app handles, where it goes, and how long it stays there. LEAKS is still being built; this policy describes the app as it works today.

02What we collect

We don't collect anything. There's no LEAKS account, and nothing you enter reaches us.

LEAKS has no account system and no backend server. We, the developer, never receive your bills, your history or anything that identifies you. What the app handles stays in places you control:

  • On your device, always (section 3).
  • In a Google Sheet in your own Google Drive, only if you choose Google Sheets during setup or later turn on cloud sync (section 4).
  • With a partner you invite, only if you use Collaborate (section 5).

When you first open LEAKS you choose between Local only and Google Sheets. Local only needs no sign-in of any kind, and in that mode the app makes no network requests with your data.

03What stays on your device

The whole boat. This is where everything lives first.

The following is stored in a local database and a local preferences store inside the app's private storage on your device:

  • Leaks (your recurring bills): name, amount (optional), whether the amount varies, category, monthly or yearly, reminder day, colour, active or paused, and created or deleted dates
  • Patch history: for each cycle, whether each leak was patched, skipped or missed, when you patched it, and the actual amount if it differed
  • Boats: each boat's name, when it launched and sank, cycles survived and misses
  • Settings: cycle start day, currency, light or dark theme, whether reminders are on, whether you use Local only or Google Sheets, and the ID of your linked sheet

Your currency is first guessed from your device's language and region settings, on the device; you can change it in Settings. Other apps can't read the app's private storage, and neither can we.

If your phone's own backup is turned on (Android backup or iCloud backup), it may include this local data, as it does for most apps. That backup is run by Google or Apple under your device settings, not by LEAKS.

04Google Sheets sync (optional)

Your sheet, in your Drive, talking straight to Google. We're not in the middle.

If you choose Google Sheets, you sign in with Google and LEAKS either creates a new spreadsheet called [DO NOT RENAME] LEAKS App Data in your Google Drive, or links to one you already have access to. From then on the app keeps your phone and that sheet in step: it syncs when you open or return to the app, after each change, and when you tap Sync now. Changes made offline are saved locally and sent the next time you're online.

What goes into the sheet

The sheet has four LEAKS tabs, holding the same information as section 3:

leak nameamountamount variescategory monthly / yearlyreminder daycolouractive / deleted cycle statuspatched dateactual amountboat name & dates misses & cycles survivedcurrency codeapp & schema versionrandom row IDs

It never contains:

bank or card detailsyour passwordlocation contactsdevice identifiersusage analytics

LEAKS also adds a warning-only protection to its tabs, so Google Sheets asks before anyone edits them by hand. It doesn't stop you from editing or deleting anything.

What Google access LEAKS asks for

  • https://www.googleapis.com/auth/drive.file: lets the app see and edit only the files it created or that you explicitly picked. It does not grant access to any other files in your Google Drive. LEAKS uses it with the Google Sheets API and Google Drive API to create, read and write your LEAKS sheet, to look for an existing LEAKS sheet when you set up (Google only shows the app files it already has access to), and to share the sheet when you use Collaborate.
  • Basic profile (your name and email address), which Google Sign-In includes as standard. The app shows your first name and email on the setup screen so you know which account you're using. It doesn't store them in its database or send them anywhere.

LEAKS does not request access to your Gmail, contacts, calendar or any other Google service. Sign-in is handled entirely by Google; the app never sees your Google password.

Google API Services: Limited Use

LEAKS' use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Data from your Google account is used only to provide sync and sharing inside LEAKS. It is never used for advertising, never sold, never transferred to anyone except as needed to provide those features (for example to the partner you invite), and never read by us: it goes between your phone and Google directly, so we have no copy to read.

05Partner sharing

Two sailors, one sheet. Sharing is done by Google Drive, and you can undo it there.

With sync on, Collaborate in Settings lets you invite a partner:

  • Their email address. You type in your partner's Google email. The app asks Google Drive to give that address edit access to your LEAKS sheet, and Google sends them its usual sharing email. LEAKS doesn't keep the address afterwards.
  • Invite link or QR code. You can then send a link of the form janapps.com/leaks/join?sheet=… through your phone's share sheet, or show it as a QR code. The link contains only your sheet's ID. Opening it loads a small page on janapps.com that immediately opens the LEAKS app. The ID on its own doesn't give anyone access; only Google Drive sharing does.
  • Picking the shared sheet. So the app is allowed to open a sheet someone shared with you, your partner's phone opens janapps.com/leaks/picker in the browser, which shows Google's own file picker. The sheet's ID and a short-lived Google access token are passed in the part of the address after the #, which browsers never send to our web server. The page stores nothing; it hands your selection back to the app, which then checks with Google Drive that access was granted.

Anyone you share the sheet with can see and edit every bill and amount in it, so only share it with people you trust. You can change or remove their access at any time in Google Drive's sharing settings.

Joining a different sheet replaces the bills stored on that phone with the shared sheet's contents (the app warns you first). The old sheet stays safe in Google Drive.

06Reminders & notifications

When reminders are on, the app schedules a notification for 9 AM on each leak's reminder day (for example "Netflix is due"), for the current cycle and up to three cycles ahead. These are local notifications scheduled with your phone's operating system. They are not sent from any server, and no reminder data leaves your device. Your device's time zone is read locally so reminders land at the right hour.

You can turn reminders off in the app's Settings or in your device settings; the rest of the app keeps working without them.

07Third-party services

Google, only if you sync. Plus the web host for two little link pages.

  • Google (Google Sign-In, Google Sheets API, Google Drive API and Google Picker), used only when you turn on Sheets sync or Collaborate. Your sheet is stored in your own Google account under Google's privacy policy.
  • Cloudflare, which hosts janapps.com, including the join and picker pages. Like any web host it handles standard request data (such as IP address and the page address, which for the join page includes the sheet ID) to deliver the page. We run no analytics on these pages. See Cloudflare's privacy policy.

LEAKS includes no advertising networks, analytics SDKs or crash-reporting SDKs of any kind. We do not sell, rent or share your information with anyone.

08Purchases

The current version of LEAKS has no in-app purchases or subscriptions, and the app contains no billing library. If that ever changes, payment would be handled entirely by Google Play or the Apple App Store, and this policy will be updated before it ships.

09Permissions

  • Notifications (Android 13+ notification permission, and notification permission on iOS), asked for during setup or when you turn reminders on, so bill reminders can appear.
  • Exact alarms (Android), so a reminder fires at 9 AM on the day rather than whenever the system gets round to it.
  • Run at startup (Android), only so scheduled reminders are put back after your phone restarts or the app updates.
  • Internet access, used only for Google Sheets sync, sign-in and sharing. Not used in Local only mode.

LEAKS does not request access to your location, contacts, camera, microphone, photos or files.

10Security

  • Local data sits in the app's private storage, protected by your device's own sandboxing and lock screen.
  • All communication with Google is over HTTPS/TLS, directly between your phone and Google. Nothing is routed through a server of ours, because there isn't one, so there's no LEAKS database to be breached.
  • Sign-in tokens are managed by Google's sign-in libraries on your device and are never sent to us. You can revoke the app's access at any time at myaccount.google.com/permissions.

Turning on two-step verification for your Google account adds another layer of protection for your synced sheet.

11Retention & deletion

You hold every copy, so you decide when it goes.

  • On your device: data stays until you remove it. Deleting a leak hides it and marks it deleted (so past cycles still add up); uninstalling the app or clearing its data in your device settings removes everything stored locally.
  • In your Google Sheet: stays until you delete rows or the whole spreadsheet in Google Drive. Deleted leaks remain as rows marked deleted. Uninstalling LEAKS does not delete the sheet.
  • Google access: Switch sheet in Settings signs you out of Google in the app; remove LEAKS' access entirely at myaccount.google.com/permissions.
  • A partner's access: remove it in Google Drive's sharing settings for the sheet.

Because we never hold your data, there is nothing on our side to keep or delete. If you need a hand with any of the above, email us.

12Your rights

Depending on where you live, including under the Philippine Data Privacy Act of 2012, the GDPR or similar laws, you may have the right to access, correct, export or delete personal data held about you. Because LEAKS keeps your data only on your device and in your own Google Drive, you can exercise these rights directly there: the sheet is an ordinary spreadsheet you can read, edit, download or delete. For anything else, contact us and we'll respond.

13Children's privacy

LEAKS is not directed at children under 13. We do not knowingly collect personal information from children, and as described above, the app doesn't send personal information to us from anyone. If you believe a child's information has reached us somehow, contact us and we'll take steps to delete it.

14Changes to this policy

If this policy changes, the updated version will be posted at this address with a new effective date. If a change meaningfully affects what data leaves your device, we'll say so in the app's release notes and store listing. Continued use of the app after a change means you accept the updated policy.

15Contact

Questions about privacy, or a request? Email Jan Aguja at [email protected]. It goes straight to the developer.