Voyara

Feature

The security details a skeptical reader would ask about

You're connecting Stripe keys, a Duffel key, SMTP credentials and possibly a WhatsApp token. Here's exactly how those are stored, how staff accounts are protected, and how one agency is kept away from another.

Staff 2FA
TOTP apps + passkeys (WebAuthn)
Stored credentials
AES-256-GCM, per-value random IV
Isolation
Per-tenant, enforced on every query

Two-factor authentication for staff

Any staff account — yours or a team member's — can turn on two-factor authentication. Two methods are supported:

  • A TOTP authenticator app (Google Authenticator, 1Password, Authy and similar), set up by scanning a QR code, with one-time recovery codes shown once at setup.
  • Passkeys (WebAuthn) — Face ID / Touch ID / Windows Hello / a hardware key. A passkey satisfies both factors on its own, so there is no separate code prompt.

Two-factor is for staff only — it is never forced on your customers, who have their own separate, lighter account system on your storefront.

How connected credentials are stored

Every third-party secret you paste into Voyara — Stripe secret key, Stripe webhook secret, Duffel API key, SMTP password, OpenAI key, WhatsApp access token and app secret, and the TOTP secret behind your own 2FA — is encrypted before it touches the database with AES-256-GCM. Each value gets its own random initialisation vector, so encrypting the same secret twice produces different ciphertext, and the authentication tag detects any tampering.

  • The master key lives only in the server environment, never in the database.
  • Secrets are never decrypted for display. Settings pages show only the last four characters, for identification.
  • The server fails to start if the encryption key is missing — a misconfiguration can’t silently degrade to plaintext.

Sessions and account changes

Sessions are cookie-based and can be invalidated instantly. Logging out, changing your password or email, a forced password reset, or being deactivated all end every existing session on the next request — a stolen or stale session token stops working immediately, not whenever it happens to expire.

Tenant isolation

Every agency is a separate tenant. Admin-panel data access is scoped to your tenant id, taken from your session — never from anything the browser can change — so there is no request shape that returns another agency's bookings, customers, settings or conversations. Your storefront, your custom domain, your storefront's AI chat and WhatsApp inboxes are all yours alone. Voyara platform staff can request temporary support access to your account, which is time-limited, logged, and blocks sensitive actions like changing your billing or password.

Honest scope

What this page is and isn't

This describes the security mechanisms actually built into the product. It is not a compliance attestation — Voyara does not currently publish a SOC 2 report or similar. If you have a formal vendor-security review, the best path is to walk through this page with your team and ask specific follow-ups through the in-app support chat.

Keep reading

See it on your own storefront

Start the free trial — no credit card, live in minutes, cancel anytime.

Start free trial