Security & trust

Built for teams that can’t afford a data leak.

Resolvo HQ acts on real orders and real customer conversations, so security is not a page we bolted on - it is enforced in the database, in the credentials, and in every action the agent takes.

Tenant isolation, enforced by the database

Every workspace is separated by Postgres row-level security. The app connects as a non-superuser role that cannot bypass those policies, and every query runs scoped to your organization - so one tenant can never read or write another tenant’s data, even if application code has a bug.

  • Row-level security on every tenant-scoped table
  • Non-bypass database role - isolation holds below the app layer
  • Cross-tenant read and write rejection verified in tests

Your credentials, sealed

Connector credentials - your Shopify token, Gorgias or Zendesk key, email-sending key - are encrypted with AES-256-GCM before they touch the database, with a unique nonce and an authentication tag per secret. You bring your own keys; we never share a platform key across customers.

  • AES-256-GCM authenticated encryption at rest
  • Bring-your-own keys, scoped to least privilege
  • Secrets never returned to the browser - only a masked hint

Authentication & access control

Sign-in is handled by Clerk, a dedicated identity provider. Role-based access - owner, admin, agent, and viewer - is live today, and the team surface includes SSO / SAML and verified-domain management. Enterprise SAML single sign-on is enabled per organization on our production identity instance, which we are finalizing ahead of public launch.

  • Role-based access: owner, admin, agent, viewer (live today)
  • Team surface with SSO / SAML + verified-domain management
  • Enterprise SAML provisioned per organization - contact us to enable

Guardrails on every action

The agent is grounded in your data with citations, escalates instead of guessing when confidence is low, and only takes the actions you allow. Destructive actions like refunds are checked against the customer’s ownership of the order, never auto-resolve on their own, and are idempotent - retrying the same refund returns the original result instead of issuing it again. Every action the agent executes is recorded in an audit log.

  • Grounded answers with citations, escalate-not-guess
  • Refunds and cancellations are allow-listed per intent and never auto-run
  • Idempotent actions - retrying a refund returns the first result, not a second charge
  • Audit log on every action; co-pilot mode approves before anything sends

How we handle your data

The short version: the least we need, only when we need it, only for you.

  • The agent reads only the ticket it is resolving, in real time - it does not crawl your systems in the background.
  • Resolvo HQ does not train any model on your data.
  • You can disconnect a connector at any time; the agent immediately stops acting on it.
  • Knowledge you ingest is chunked and stored scoped to your workspace, retrievable only within it.

A data processing agreement is available on request - email hello@resolvohq.com. See also our privacy policy and terms.

Security FAQ

How is my data separated from other customers?+

By Postgres row-level security, enforced at the database with a non-bypass role. Every query is scoped to your organization id, so isolation holds even if application code has a bug - not just by convention in the app layer.

How are my Shopify and helpdesk credentials stored?+

Encrypted with AES-256-GCM before they reach the database, each with a unique nonce and an authentication tag. They are decrypted only in memory to make a request under your own keys, and are never sent back to the browser - the dashboard shows only a masked hint.

Do you use my data to train AI models?+

No. Resolvo HQ does not train any model on your data. The agent retrieves only what it needs to resolve a specific ticket, grounded in your knowledge base and live order data.

Can the agent do something destructive by mistake?+

Guardrails prevent it: actions are allow-listed per intent, refunds are checked against the customer’s ownership of the order and never auto-resolve on their own, every action is idempotent so retrying it returns the original result rather than running again, and you can require human approval on every reply in co-pilot mode.

Do you offer SSO and a DPA?+

Role-based access is live today. Enterprise SAML single sign-on is enabled per organization on our production identity instance, which we are finalizing before public launch - contact hello@resolvohq.com to turn it on. A data processing agreement is available on request.

Are you SOC 2 certified?+

A SOC 2 Type II program is on our roadmap and not yet complete; we do not claim a certification we do not hold. The controls above - tenant isolation, encryption, access control, audit logging - are built and in use today.

Try it on your own tickets first.

Replay the agent on your past tickets in a sandbox - no store connection required - and see exactly what it would do before it touches a live customer.