Privacy Policy — Offline POS

Last updated: 12 October 2026

Offline POS (offline.pos) is a point-of-sale app for small shops. This policy explains what the app stores, what it does not, and the few occasions on which anything you have entered can leave your phone.

It is written to describe what the software actually does. Where something could be read two ways, the stricter reading is the one meant.


The short version


What the app keeps on your phone

All of it is held in the app's own private storage, which other apps cannot read:

WhatExamples
Shop detailsshop name, owner name, address, phone, email, PAN/VAT, logo, owner photo, signature, stamp
Productsnames, prices, cost, stock, categories, barcodes, photos
Customersnames, phone numbers, addresses, balances owed
Sales and purchasesinvoices, line items, discounts, taxes, payments
Settingslanguage, currency, printing and scanning preferences
Securityyour PIN, stored only as a salted PBKDF2-SHA256 hash, and your Shop Key
Activity loga record of what was done in the app, so an owner can review a worker's shift

None of this is transmitted anywhere by the app on its own.


When data can leave your phone

There are five, and each one happens only because you chose it.

1. Wi-Fi share (local network)

The app can start a small web server so another device on the same Wi-Fi can download a backup, an invoice or a product list. The data travels over your own network and does not reach the internet. The server stops when you stop it, when the app closes, or after the expiry you set.

2. Share over the internet (Cloudflare Tunnel)

If, and only if, you turn on Share over the internet, the app opens a temporary tunnel using Cloudflare's service so a device not on your Wi-Fi can reach that same page. While the tunnel is open the data you are sharing passes through Cloudflare's network, which is a third party with its own privacy policy (https://www.cloudflare.com/privacypolicy/). The link is temporary and one-use, and the tunnel closes when you close it.

If you never use this feature, the app never contacts the internet for it.

3. Cloud backup

If you fill in a cloud server of your own — your WebDAV, Nextcloud or similar — the app can upload a backup file to that server. It is your server; we have no access to it and never see the address or the password. The backup is encrypted before it is uploaded (see Security below).

4. Bluetooth

The app sends receipts to a thermal printer you have paired, and can send a single invoice to another phone running the companion Invoice app. Both are direct device-to-device transfers. Nothing is relayed through any server.

5. Whatever you share yourself

Saving a PDF, sharing a receipt to WhatsApp, saving a backup file to your Downloads folder, or showing an invoice as a QR code on screen all hand the data to whatever you chose. Once it leaves the app it is governed by the policy of wherever it went.


Permissions, and why each one exists

PermissionWhy
CameraTo read barcodes and QR codes. Frames are decoded in memory and dropped. No photo is taken, stored or sent.
BluetoothTo find and connect to your receipt printer, and to send an invoice to the companion app on another phone.
Internet / network stateFor the Wi-Fi share, the optional internet tunnel and the optional cloud backup. Nothing uses it otherwise.
VibrateFeedback when a barcode scans.
Storage (Android 9 and older only)To save backup files where you can find them. Newer versions of Android do not need it and it is not requested.

You can refuse any of them. The app will tell you which feature stops working and the rest carries on.


The camera and barcode reading

Scanning runs entirely on your device, using an on-device barcode library bundled inside the app. Camera frames are never uploaded and never written to storage. The app does not use face recognition and does not identify people.


The companion app

Invoice for Offline POS is a separate app that receives and stores invoices. It holds no internet permission at all. Invoices reach it over Bluetooth, by scanning a QR code off the till's screen, or through a direct hand-off between the two apps on one phone, protected so only our own signed apps can send. Everything it receives stays on that phone.


Security


Keeping and deleting your data

The app keeps your data until you delete it. You are in control of all of it:

Because we hold nothing, there is nothing for us to delete on your behalf and no request you need to make to us.


Children

The app is a tool for running a shop and is not directed at children. It does not knowingly collect anything from anyone, of any age.


Changes to this policy

If the app gains a feature that changes any of the above, this policy is updated before that version is released, and the date at the top changes with it.


Contact

Questions about this policy, or about anything the app does with your data:

0.epicproject@gmail.com

Offline POS is published by Epic Project, a non-profit open-source initiative building practical Android and Windows apps for everyday life.