Full Volume

Security

Last updated August 2026

Beta template — pending legal review. This document is written in plain language for the Full Volume founding beta. It is not legal advice and should be reviewed by counsel before general availability.

Tenant isolation

Every record belongs to exactly one shop. Access rules are enforced in the database, not just the interface, so a signed-in user can only read or change rows for a shop they are a member of. There is no query path that returns another shop's clients or appointments.

Roles

Membership carries an explicit role — owner, manager or staff. Roles are stored in a dedicated membership table, never on a user-editable profile, so a user cannot promote themselves.

Invite-only access

Creating an account does not grant access to any shop. A person joins a shop only by accepting an invite sent to their email address, or by creating a new shop with a valid founding beta code. Both paths run as a single verified transaction.

Booking integrity

Public booking runs through one server-enforced transaction that re-checks the staff member, services, business hours and availability, and the database physically rejects overlapping appointments — so two people racing for the same slot cannot both win.

Secrets

Payment and messaging credentials live only on the server. They are never sent to the browser, never stored in shop records, and never returned by an API response.

Reporting an issue

Email hello@fullvolume.app with the subject "Security". We aim to acknowledge reports within two business days and will credit responsible disclosure.