Security

Your data stays yours

Retail data is commercially sensitive. Isolation is enforced by the database itself, access follows your org chart, and all analysis runs inside the platform.

Controls

How we protect your data

Isolation in the database

Every table carries your organization ID and is protected by PostgreSQL row-level security. The application connects with a role that cannot bypass it, and every request runs in a transaction scoped to your organization — so even a faulty query can't return another retailer's rows. Automated tests check this.

Roles and scoped access

Owner, Admin, Analyst, Regional Manager and Store Manager. Regional and store managers see only their stores — in dashboards, insights, reports and the AI analyst's answers.

Authentication

Supabase Auth, or built-in email and password with signed, HTTP-only session cookies. Passwords are hashed with bcrypt.

No outside AI service

The insight engine is statistical and runs entirely inside the platform. Your sales, inventory and customer data isn't sent to any outside AI service.

Deploy where you want

Runs on PostgreSQL — a managed cloud database, Supabase or your own server — so your data stays where you choose.

Controlled imports

Imports are validated row by row and run inside your organization's scope. A failed import is rolled back rather than half-applied.

Have a security questionnaire? Book a call and we'll walk your team through the architecture.

Want the technical walkthrough?

We'll show your IT team exactly how tenant isolation, roles and the AI guardrails work.