Skip to content

Security at BrandGate

How we protect your catalog, orders and customer data.

EU
Data hosted in Ireland
Every table
Protected by row-level security
HTTPS
Encrypted in transit
Stripe
Handles all card data

Infrastructure

Hosted in the EU and encrypted in transit.

  • EU data hosting

    Your data lives in Supabase (Postgres and file storage) in the EU, in Ireland. The web application runs on Vercel.

  • Encrypted in transit

    BrandGate is served only over HTTPS, so data is encrypted in transit.

  • Hardened responses

    Pages cannot be embedded in other sites, and browsers are told not to guess content types.

  • Checked on every change

    Type checks, tests, static analysis and a dependency audit run on every change. Installs use a locked dependency tree.

Data isolation

Each company's data stays its own.

  • Row-level security

    Row-level security is enabled on every table, so the database itself decides which rows a person can read or change.

  • Views run as the caller

    Database views run with the permissions of the person asking, not with elevated rights.

  • Server-side membership checks

    Server functions look up company membership in the database instead of trusting company IDs sent from the browser.

  • Scoped file storage

    Uploads sit in company-specific folders, and storage policies stop one company writing into another's. Invoice documents are only reachable by the server.

  • Query time limits

    Statement timeouts of 3 seconds for anonymous and 8 seconds for signed-in database roles stop runaway queries.

Access

Two-factor authentication, roles and an audit log.

  • Two-factor authentication

    Every account can enrol an authenticator app. Once enrolled, the database refuses access until the session has passed the second factor.

  • No bypass for enrolled accounts

    A password reset or email link does not skip an enrolled authenticator, and removing one requires a fresh two-factor challenge.

  • Role-based permissions

    Administrators invite team members and assign their role. Distributors and buyers have their own restricted roles.

  • Verified sessions

    The server verifies each session on every request. Session cookies are Secure and SameSite.

  • Audit log

    Account activity is recorded in an audit log you can search in Settings.

AI

BrandGate Central suggests. People approve.

  • Approval first

    Central turns a request into a proposed action. A person approves it before it runs, unless your team has set a standing rule with limits for that kind of action.

  • Never more than the person can do

    Approved actions run with the permissions of the person who approved them, and Central's tools are limited by role-based scopes.

  • Every action is logged

    Each proposal and its outcome is recorded, including a receipt of what changed.

Payments and accounting

Payment card details stay with the payment provider. Accounting connections remain under company administrator control.

  • Card data handled by Stripe

    Subscription payments run through Stripe Checkout. BrandGate never sees or stores card numbers.

  • Verified payment events

    Stripe webhooks are checked by signature within a time window and processed once.

  • Controlled accounting connections

    A company administrator authorizes supported accounting integrations. Access can be disconnected, and sync issues remain visible for review.

Your data

Take it with you. Delete your account.

  • Export

    Export products, invoices, distributors and reports as CSV.

  • Account deletion

    Delete your own user account from inside the BrandGate Central app. Products, orders and invoices belong to the company workspace and stay with it.

Need a security review? We’ll answer your questionnaire.

Contact us