Encrypted in transit.
Traffic to the platform is served over HTTPS, and connections to our databases and file storage require TLS 1.2 or higher.
Trust · Security practices
Security runs through every layer of Inscendo: how your data is stored, how accounts sign in, how the attack surface is hardened, how our code ships, and how production runs. Here is the concrete picture, layer by layer.
Most multi-tenant products pool every customer into one shared database and rely on application code to keep the rows apart. We don’t. Every customer gets its own dedicated, physically separate database and file storage, with integration credentials held in a tenant-scoped secrets vault. There is no shared table of customer records for a stray query to reach across.
Every request is bound to your tenant from a validated membership check before any data is touched, including every action Inscendo IQ takes on your behalf, whose tool calls are pinned to the acting tenant. Automated architecture tests enforce these isolation boundaries on every change before it can ship. The architecture page walks through the model in full.
Data protection
Traffic to the platform is served over HTTPS, and connections to our databases and file storage require TLS 1.2 or higher.
Databases use Transparent Data Encryption and file storage is encrypted with AES-256, managed by Microsoft Azure.
Application secrets and each tenant’s integration credentials are held in managed, access-controlled vaults (Azure Key Vault), separated by scope. Inscendo IQ uses your credentials; we never log them.
Every database can be restored to any moment within a 35-day window, with longer-term backup retention on top.
Accounts & access
Every account signs in with a required second factor, either an authenticator app (TOTP, RFC 6238) or a one-time code by email, backed by single-use recovery codes and an optional per-device trust that stores only a hashed token, revocable per device.
Passwords are hashed with Argon2id at OWASP-recommended parameters (64 MiB memory, 3 iterations) and verified in constant time. We never store or log a plaintext password.
Repeated failed sign-ins trigger escalating, time-bounded lockouts, and the same limit covers failed second-factor attempts.
Sign-in timing is equalized against a decoy hash, so response times can’t reveal which email addresses have accounts.
Sessions use signed tokens with an idle timeout and a hard 30-day cap. Account status and role are re-derived and re-validated on every renewal, so access changes take effect continuously.
Password-reset links are single-use, hashed, and time-limited, and completing a reset revokes every trusted device on the account.
Attack-surface hardening
Database access uses parameterized queries only, and a dedicated test battery fires classic payloads (DROP, UNION, stacked statements, xp_cmdshell) at the query layer to confirm they are rejected.
Outbound requests Inscendo IQ makes on your behalf are screened against a private-network denylist, validated against the real connection IP so DNS-rebinding can’t slip through.
Sensitive endpoints, including sign-in, email send, and automation and webhook invocation, are rate-limited to blunt abuse and brute-force attempts.
A Content-Security-Policy controls which sites are allowed to frame the application, configured per environment.
Tokens, signatures, and secrets are compared in constant time, enforced across the codebase, so timing can’t leak them.
Session tokens are validated for issuer, audience, signature, and expiry on every request, and the service refuses to start with a default or unresolved signing key.
Most of the controls on this page are backed by automated tests that run in our build pipeline before any change can merge. They are not guidelines in a wiki. If a change violates one, the build fails and the change does not ship. Among what they enforce:
Platform & operations
Infrastructure is defined as code and deployed through short-lived federated identity and managed identities, so there are no long-lived cloud passwords to leak.
New versions are health-checked on a staging slot, in-flight agent work is drained before the swap, and a release rolls back automatically if error rates regress.
Failures across every production path are captured to a durable, queryable log, with alerts on key capacity thresholds.
Production deploys run through an authenticated pipeline that requires typed confirmation and code-owner approval on protected infrastructure and workflows.
Technical reference
For the security engineers running a deep review, and the tools they use to do it, here are the specifics without the marketing gloss.
This page is the overview. When your security team wants the specifics, here is where to go deeper, and for anything it doesn’t cover, just ask.
Working through a security questionnaire, or need to confirm a specific control? Email support@inscendoiq.com.