Security

Security

Meddle checks every request to agent data against workspace membership, on the web app and the MCP server. Secret variable values sit in an encrypted vault.

Workspace membership decides every read and write of agent data, on the web application and on the MCP server. Secret variable values sit in an encrypted vault and API keys are stored as hashes. Where each part of a call runs is a separate question, answered provider by provider on voice agents hosted in Australia.

Platform boundaries

Meddle is multi-tenant. The tenancy unit is the workspace, and every agent belongs to exactly one workspace.

How isolation is enforced

Every request to agent data is checked against the same two questions:

  • Is the requesting user a member of the workspace that owns this agent?
  • Or does an explicit share grant them access to this specific agent?

Writes also require that share to carry edit permission. The same check applies uniformly to every access path: the web application, the MCP server, and any service that authenticates as a user.

Continuous verification

Tenant-isolation rules are verified automatically before every release. Automated secret scanning, static analysis and dependency checks run on every change before it ships.

Authentication

MethodStatus
Email and passwordAvailable
Google sign-inAvailable
Time-based one-time password, second factorAvailable, per user
Recovery codes for second-factor lossAvailable, stored hashed

Access control

Workspace membership carries a role. Roles govern what the application permits (inviting members, managing billing, changing workspace settings). To scope access to a single agent, use per-agent collaborators.

See Access control for roles, collaborators and the audit log.

Credentials

Secret variable values are held in an encrypted vault. API keys and publishable keys are stored as hashes.

See Credential handling for the vault-only dialog path.

Call recordings

Recordings are held in a private storage bucket, gated by the same agent-access predicate that governs the rest of the platform.

Operators retrieve a recording through a short-lived signed link generated at the moment of the request.

While a call is running

Caller speech is treated as data, not instruction, and outbound requests are constrained to prevent agents reaching internal infrastructure.

See Runtime safeguards.

Reporting a vulnerability

Send details to hello@verticalai.com.au with "security" in the subject line. We will acknowledge receipt and keep you informed while we investigate.

On this page