Skip to content

Security Overview

Mantis implements defense-in-depth security with multiple layers of protection.

LayerProtectionComponents
NetworkTLS 1.3, firewall rulesLoad balancer, WAF
TransportmTLS, certificate pinningThorax ↔ Tarsus
AuthenticationJWT, OIDC/SSOMandible, Identity Providers
AuthorizationRBAC, tenant isolationAll components
DataEncryption at restPostgreSQL, credentials
MethodUse CaseConfiguration
LocalBuilt-in accountsPOST /api/v1/admin/users (or Lens)
OIDCEnterprise SSOIdentity provider config
API KeysService accountsPOST /api/v1/auth/api-keys (or Lens)
ModeSecurity LevelComplexity
ThumbprintHighLow
CA-SignedHighestMedium

All communication is encrypted:

ConnectionProtocolCertificate
Client → MandibleHTTPSServer cert
Mandible → ThoraxgRPC + TLSServer cert
Thorax ↔ TarsusmTLSClient + Server certs

See TLS Certificates for configuration.

Mutual TLS ensures both parties are authenticated:

See mTLS Authentication for details.

JSON Web Tokens secure API access:

AlgorithmUse CaseKey Management
HS256Simple deploymentsShared secret
RS256EnterprisePublic/private keys

See JWT Configuration for setup.

Sensitive data is encrypted in the database:

Data TypeEncryptionKey Source
CredentialsAES-256-GCMMaster key
API keysArgon2 hashN/A
SecretsAES-256-GCMMaster key

See Encryption at Rest for configuration.

Self-signed certificates with thumbprint verification:

┌─────────────────────────────────────────────────────────────┐
│ Thumbprint Mode Flow │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. Tarsus generates self-signed certificate │
│ 2. Certificate thumbprint (SHA-256) extracted │
│ 3. Thumbprint registered in Mantis │
│ 4. On connect: TLS validates cert, app verifies thumbprint│
│ │
│ Pros: No CA infrastructure required │
│ Cons: Manual thumbprint management │
│ │
└─────────────────────────────────────────────────────────────┘

See Thumbprint Mode for configuration.

Traditional PKI with certificate authority:

┌─────────────────────────────────────────────────────────────┐
│ CA-Signed Mode Flow │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. Mantis CA issues client certificates │
│ 2. Tarsus CSR submitted and signed │
│ 3. TLS layer validates CA signature │
│ 4. App layer verifies thumbprint (defense-in-depth) │
│ │
│ Pros: Centralized certificate management │
│ Cons: CA infrastructure required │
│ │
└─────────────────────────────────────────────────────────────┘

See CA-Signed Mode for configuration.

Role-Based Access Control governs all operations:

RoleScopeTypical Permissions
AdminGlobalAll operations
OperatorTenantDeploy, manage targets
ViewerTenantRead-only access

See RBAC Overview for details.

Multi-tenant data isolation:

Isolation LevelEnforcement
DatabaseApplication-layer tenant filtering
APIJWT tenant claims
AuditSeparate audit chains
Key TypeRecommended RotationEmergency Rotation
JWT signing key90 daysImmediately on compromise
Encryption master key365 daysImmediately on compromise
TLS certificates365 daysOn expiry or compromise
Agent certificates365 daysOn compromise

See Key Rotation for procedures.

  • TLS certificates configured
  • mTLS enabled for agents
  • JWT secret/keys configured
  • Encryption at rest enabled
  • RBAC roles defined
  • Admin password changed
  • Network segmentation applied
  • Certificate expiry monitoring
  • Key rotation schedule
  • Access review schedule
  • Security patch schedule
  • Audit log review
TaskCommand/Action
Generate TLS certsjust dev-certs (dev) or use CA
Rotate JWT keyUpdate config, restart with overlap
Revoke agentmantisctl cert revoke <id>
Audit accessReview /api/v1/audit/logs endpoint
Check cert expiryopenssl x509 -enddate -in cert.pem

Layer multiple security controls:

Internet → Firewall → WAF → TLS → Auth → RBAC → Audit
  • Grant minimum required permissions
  • Use tenant-scoped roles where possible
  • Review and revoke unused access
  • Never commit secrets to version control
  • Use environment variables for sensitive config
  • Rotate secrets regularly
  • Enable audit logging
  • Monitor for unusual activity
  • Set up alerting on security events
  • Apply security patches promptly
  • Update TLS configurations
  • Review and update security settings
ThreatMitigation
Man-in-the-middleTLS/mTLS everywhere
Credential theftJWT expiry, refresh tokens
Unauthorized accessRBAC, tenant isolation
Data breachEncryption at rest
Rogue agentThumbprint verification
Audit tamperingHash chain integrity
  1. TLS Certificates - Set up transport security
  2. mTLS Authentication - Configure agent auth
  3. JWT Configuration - Set up API auth
  4. Encryption at Rest - Protect stored data