GitHub

Your data stays on your server.

There is no Litestore server. Your customer data sits in a database you run.

Four things you get automatically.

×

Your data never leaves your infrastructure

Customers, orders and payment records live in a Postgres you administer. There is no telemetry endpoint and no vendor dashboard.

••••••••
sign-in link sent

No passwords to leak

Sign-in is by emailed magic link for admins and customers, so there is no password store to breach and no reset flow to social-engineer.

requestdbadmin

Roles re-read on every request

Admin access is read fresh from the database each time, so a ban or downgrade takes effect on the next request.

price 96 → 128@mara
stock +240@theo
refund $24@juno

An audit trail you can query

Critical modules log create, update and delete with the actor attached, so 'who changed this price' has an answer.

Rules the database enforces.

These are database constraints, not conventions the code tries to follow.

capture+182.40
refund−24.00
correction+24.00

Money

4
  • Payment ledger rows are append-only — corrections are new rows, never edits.
  • Cumulative refunds cannot exceed the order total.
  • Order money projections cannot go negative.
  • Drift between cached and computed totals raises an alarm row.
124+8=132

Stock

3
  • Stock movements are append-only, and previous quantity plus delta must equal new quantity.
  • A movement only writes when it matches the current inventory row.
  • Inventory disagreeing with its latest movement raises a drift alarm.
LINEN-01saved
linen-01rejected

Identity

3
  • Emails, SKUs, coupon codes and slugs are unique in Postgres, case-insensitively.
  • Only one active default channel can exist.
  • Soft-deleted records are filtered by an extension derived from the schema.

What stays your job.

The parts you are responsible for.

Patching

The host, the database and the runtime, on your schedule.

Backups

A database dump is yours to take and yours to test restoring.

Secrets

The keys in the environment contract are managed by you.

Network

TLS, access control, and whatever your compliance regime asks.

Found a vulnerability? Open a security advisory on the repository instead of a public issue.