Security

Where your data lives, and who can reach it

The short version: your invoices are on your device unless you choose otherwise, and if you do choose cloud backup, your account can only ever read its own rows.

Offline by default No ads No third party trackers

On the device

By default nothing leaves your phone

Install Invoice Local, add your business name, and start invoicing. In that state your business profile, customers, saved items and invoices exist only in the app storage on your own device. We do not receive them, cannot read them and hold nothing about you.

That is what makes the app work with no signal, and it is also the strongest privacy position available: data that was never transmitted cannot be leaked by us.

The trade off is real and worth stating. Data that exists only on one device is lost with that device. That is precisely the problem an optional account solves.

If you sign in

Cloud backup is isolated per account

Creating a free account turns on backup and sync. Your rows are stored in a managed Postgres database with row level security, which means the database itself refuses to return another account's data rather than relying on the app to ask nicely.

Traffic between the app and the server is encrypted in transit with TLS. Passwords are stored hashed, never in a readable form, and nobody here can see yours.

Shared devices

Signing out wipes the device, deliberately

This one is worth explaining because it was a real bug we fixed rather than a feature we designed first time.

Signing out used to end the session but leave the local data in place. On a shared phone, the next person to sign in could have had the previous user's unsynced rows pushed into their account. That is a data leak, and it is now closed three ways: signing out clears the local database and the per user sync markers, and the sync engine refuses to run if the signed in account does not match the data on the device.

The practical effect is that after signing out the app returns to a clean setup screen. That is intended, not a failure.

What we do not collect

The list of things we deliberately never touch

Some of these are common in invoicing apps and none of them are here.

  • No access to your contacts. Customers are the ones you type in, nothing is imported
  • No GPS or device location. The app records your country and nothing finer, never a position or a movement history
  • No advertising identifiers. The Android build does not request one
  • No third party analytics that profiles you across other apps or sites
  • No card details, because payments are handled entirely by Google Play
  • No selling or renting personal information to anyone, at any price
This website

The site you are reading sets no cookies

The Invoice Local website is static HTML on a CDN. It has no login, no cookie banner because there are no cookies to consent to, and no third party trackers. Security headers including a content security policy, strict transport security and frame denial are set at the edge.

The app at app.invoicelocal.com is deliberately excluded from search engines, because it is the product rather than a page anyone should land on from a search result.

Reporting

Found something? Tell us before you tell anyone else

If you believe you have found a security problem, email support@invoicelocal.com with enough detail to reproduce it. We will confirm receipt, investigate and tell you what we found.

We are a small operation, so there is no bounty programme and no formal severity matrix. What there is, is somebody who will read your email properly and act on it rather than route it into a queue.

Questions

Security questions

Can you read my invoices?

Not if you have never signed in, because they never left your device. If you use cloud backup, your rows sit in a database we operate, protected by row level security so accounts cannot read each other. As with any hosted service, operating it means the data exists somewhere we run.

What happens if I lose my phone?

If you signed in, install the app on the new phone, sign in, and your data pulls down. If you never signed in, the data was only ever on that device and it is gone. That is the honest cost of the offline first default.

Is my data encrypted?

Traffic is encrypted in transit with TLS and passwords are hashed. On the device, data sits in the app private storage, protected by the operating system rather than by a separate passphrase you set.

Do you comply with GDPR?

We apply the same principles to everyone: minimal collection, no sale of data, and deletion on request. Rights such as access, correction and erasure are handled by emailing support, and the privacy policy sets out the detail.

Offline by default, backed up by choice

Start with everything on your device and turn on cloud backup only if you want it. Free forever either way.

Start free →