Private preview for testing · not the public launch · send feedback
Mobile Inventory
Menu

Security and data

How the preview handles your data

This page describes what the software actually does. It is not the legal privacy notice; that is being prepared with counsel before the public launch.

One shop cannot see another

Every business table carries the shop’s id and has Postgres row-level security enabled. Requests run as the signed-in user and are limited to shops where that user has a membership. The browser uses a publishable client key; it cannot bypass those policies. The service-role key exists only inside the account-deletion function on the server, never in the page or the app bundle.

Stock is a ledger, not an editable number

Items, movements, counts and members are ordinary rows with foreign keys and checks. A movement is append-only: the database refuses updates and deletes on the movement table. Stock is derived from the movements, and every batch carries client-generated ids so a replay after a reconnect cannot apply twice.

What is stored

  • Your email address and password hash (handled by Supabase Auth), and your shop membership and role.
  • Items, barcodes you enter, stock movements, counts, locations, purchase orders, invites and the audit log.
  • No analytics or advertising scripts run on this preview. The static pages load no third-party trackers.

Where it runs

The preview database and authentication run in a Supabase project in eu-central-1 (Frankfurt). The static site is served by Cloudflare Pages. The older GitHub Pages mirror stays reachable until the domain moves. Email confirmation is disabled on the preview, so no email provider is involved there yet; the public launch will add a transactional email provider with SPF, DKIM and DMARC before confirmations are switched on.

Export and deletion

Export produces a JSON file with items, stock, movements, counts, locations and members, and works on every plan, including after a trial ends. Deleting your account removes the auth user. A shop you solely own is deleted with its history; in a shared shop the ledger stays for the other members and ownership passes on.

Request deletion without the app · export details

Limits of the preview

The preview runs on a free hosting tier. It has no long-retention backup guarantee and no uptime commitment. Do not put your only copy of live business data into it while it is marked as a preview; export anything you care about. PITR and the production retention policy are launch decisions, not preview promises.

Processors in the preview

  • Supabase — Postgres, authentication, edge functions.
  • GitHub — static site hosting for this preview.

No payment processor, analytics service or email provider is connected to the preview. When they are added, they will be listed here and in the privacy notice before the public launch.

Report a problem

If you believe you can see another shop’s data, or find any security bug, emailsupport@mobileinventory.org with the steps and we will investigate before anything else.

Start the 14-day trialWhy Mobile Inventory