// trust center · security questionnaire
Security questionnaire
The questions a security reviewer asks us most, answered the same way for everyone. 29 answers; 7 of them say “not yet”, because that is where we are.
// data location
Data location
- Where is our data stored?Yes
- The database runs on Supabase in AWS eu-west-1 (Ireland) and the background workers on Railway in Amsterdam. The web app is served by Vercel's global edge network. Trust Center: at a glance
- Does our data leave the EU, and to which regions?Partly
- Some of it does. The database and workers are in the EU, but the AI model providers (Anthropic, OpenAI, fal) are in the United States, and several platforms you can connect are outside the EU. The sub-processor list states each provider's region. Sub-processors
// encryption and secrets
Encryption and secrets
- Is data encrypted at rest?Partly
- Supabase, which holds the database, and Vercel, which serves the web app, each state on their own security page that they encrypt data at rest with AES-256. Magistry adds no encryption layer of its own on top of that, apart from the secrets described below. Provider statements
- Is data encrypted in transit?Yes
- Supabase and Vercel state that they use TLS in transit. Our workers refuse a database connection without TLS, and calls from the database to the workers are signed so they cannot be forged.
- How are credentials for connected services stored?Yes
- Tokens for connected services are stored encrypted in Supabase Vault, not in table columns, and a health check alerts if one appears in plain text. Magistry API keys are stored only as hashes.
- Do you store payment card data?Yes
- No. Card payments run through Shopify billing or Stripe's hosted checkout, and card numbers never reach Magistry.
// access control
Access control
- How is access controlled inside the product?Yes
- Each store member is an Owner, Admin, Staff or Viewer. Store access for signed-in users and API callers is enforced by Postgres row-level security in the database, which switches on for every new table; an hourly check alerts if a table is without it. Trust Center: access control
- Do you support multi-factor authentication?Yes
- Yes. Users can add an authenticator-app second factor or sign in with a passkey, and workspace owners can require the second factor and cap how long a session lasts.
- Do you support single sign-on (SAML or OIDC with our identity provider)?Not yet
- Not yet. Users sign in with a password, a passkey, Google or GitHub. Connecting your own identity provider is not available.
- Can we provision and deprovision users automatically?Partly
- Deprovisioning, yes: workspaces can remove members over SCIM 2.0, which removes their store access everywhere the database checks it. Provisioning users over SCIM is not yet supported.
- How is Magistry's own access to production data controlled?Not yet
- Not yet documented. We have not published a policy for internal access to production. Our background jobs run under a service account that is not subject to row-level security, so the controls above govern users and API callers, not our own jobs.
- What can a third-party app connected through your API do?Yes
- An app's token carries the stores and the write permission it was granted, and the database intersects those with the granting user's own access. Revoking an app refuses every token issued under that grant from its next request; if the revocation check cannot run, the request is refused. Apps and revocation
// agents and audit
Agents and audit
- Can the AI agents change our store without approval?Partly
- Mostly only if you allow it. The Marketing Brain can be off, propose for approval, rehearse without writing, or act on its own, and new stores start on approval. Store action policies block or cap actions, and a per-store kill switch stops the catalog, ads, customer-service, promotions, feed, reputation and social agents from writing or spending; it does not yet cover theme deploys or the creative studio. One exception: when a pre-dispute alert arrives, a refund of up to $200 can be issued automatically, and there is not yet a setting to turn that off. Governance and controls per module
- Do you keep audit logs, and can we get them?Yes
- Every tool call through the API or the MCP server writes an audit row before the response returns. API, account, operator and OAuth-grant logs cannot be deleted before they are a year old. Workspace owners can export the security log as CSV or JSON. Audit
// sub-processors and ai
Sub-processors and AI
- Who are your sub-processors, and how are we told about changes?Yes
- The full list, with each provider's purpose, the categories of data it receives and its region, is published and is the same list as the DPA's Annex C. Under the DPA we give thirty days' notice before adding or replacing a sub-processor. Sub-processors
- Which AI model providers do you use?Yes
- Anthropic for the agents and the assistant, OpenAI for classification, text embeddings and images, Google's Gemini API to analyse creative video and audio, and fal for generative media. AI and models
- Is our data used to train AI models?Yes
- Magistry does not train or fine-tune any model on your data. Anthropic and OpenAI each state that, by default, data sent through their commercial API is not used for training; their statements are linked on the Trust Center. Provider statements
- Is personal data sent to the model providers?Partly
- Yes, where the task needs it. Customer-service replies are drafted from the original message, so that text reaches the model provider in full. Identifiers are stripped before data reaches our tracing tools and in several analysis jobs, not on every call.
// retention and deletion
Retention and deletion
- How long do you keep our data?Not yet
- Not yet on a general schedule. What is enforced today: click identifiers lose their IP address and user agent after 90 days, raw product-usage events are dropped after six months, and access logs are kept for at least a year.
- How do you handle a data subject's erasure request?Yes
- A customer erasure request from Shopify anonymises that customer's personal data across every table that holds it and deletes their attachments.
- What happens to our data when we leave?Partly
- On a Shopify uninstall we revoke our credentials, stop the store's scheduled jobs, and a daily job anonymises the shop's personal data once 48 hours have passed. For accounts not on Shopify there is not yet an automated export and deletion at termination.
- Can we export our data?Yes
- Workspace owners can export the security log, and products, orders and finance data, from the dashboard.
// incidents and assurance
Incidents and assurance
- Will you notify us of a breach?Yes
- Yes. The DPA commits us to notify you without undue delay, and within 48 hours of becoming aware of a personal data breach affecting data we process for you. DPA section 9
- Do you have a written incident-response plan?Not yet
- Not yet as a published document. Platform health checks alert us to failures, and the breach notice above is our contractual commitment.
- Do you have backup and recovery commitments?Not yet
- Not yet. We have not published backup, recovery-time or recovery-point commitments of our own.
- Do you hold an independent security audit report?Not yet
- Magistry has no SOC 2 report, ISO 27001 certificate or other third-party certification of its own yet. The providers we run on hold their own, and their statements are linked under data handling. Provider statements
- Can you share a penetration-test report?Not yet
- Not yet. We have no third-party penetration-test report to share.
- How do we report a vulnerability?Yes
- Email security@magistry.io. The contact and our disclosure rules are also published at /.well-known/security.txt. Report a vulnerability
- Do you sign a data processing agreement?Yes
- Yes. The Data Processing Addendum is public, and where we process personal data for you we act as your processor under it. Read the DPA
