Skip to main content

Encryption

Tegendo.AI implements comprehensive encryption to protect your data throughout its lifecycle — in transit between services, at rest in storage, and during processing by AI models.

Encryption in transit

All data transmitted to, from, and within Tegendo.AI is encrypted using TLS 1.3, the latest version of the Transport Layer Security protocol.

External connections

ConnectionProtocolMinimum version
Browser to Tegendo.AIHTTPS (TLS 1.3)TLS 1.2
Tegendo.AI to AI providersHTTPS (TLS 1.3)TLS 1.2
API clients to Tegendo.AIHTTPS (TLS 1.3)TLS 1.2
WebSocket (streaming)WSS (TLS 1.3)TLS 1.2

Internal connections

All service-to-service communication within the Tegendo.AI infrastructure uses mutual TLS (mTLS). This ensures that both the client and server authenticate each other, preventing man-in-the-middle attacks within the internal network.

Certificate management

  • TLS certificates are issued by AWS Certificate Manager (ACM)
  • Certificates are automatically rotated before expiration
  • Certificate pinning is not used to avoid operational issues, but HSTS headers are enforced

Encryption at rest

All data stored by Tegendo.AI is encrypted at rest using AES-256 encryption, the industry standard for protecting sensitive data.

Database encryption

ComponentEncryption methodKey management
PostgreSQL (Supabase)AES-256-GCMAWS KMS
Vector store (embeddings)AES-256AWS KMS
File storage (S3)AES-256 (SSE-S3)AWS KMS
Redis cacheAES-256AWS KMS
Audit logsAES-256AWS KMS

Key management

Encryption keys are managed through AWS Key Management Service (KMS):
  • Customer master keys (CMKs) are created and stored in AWS KMS hardware security modules (HSMs)
  • Keys are never exported from the HSM in plaintext
  • Key access is controlled by IAM policies with least-privilege permissions
  • Key usage is logged in AWS CloudTrail for audit purposes
  • Automatic key rotation occurs every 365 days

Application-level encryption

In addition to infrastructure encryption, certain sensitive fields receive an extra layer of application-level encryption before being stored:
  • API keys — Hashed with bcrypt before storage; the plaintext is shown once at creation and never stored
  • BYOK provider keys — Encrypted with a per-organization key derived from the organization’s KMS CMK
  • SCIM bearer tokens — Hashed with bcrypt
  • SSO certificates — Encrypted with the organization’s KMS CMK

Encryption of AI provider communication

When Tegendo.AI sends prompts to AI providers (Anthropic, OpenAI, Google), the data flow is:
  1. Your browser to Tegendo.AI — Encrypted via TLS 1.3
  2. Tegendo.AI processing — Data is processed in memory within the secure VPC; no intermediate storage of unencrypted prompts
  3. Tegendo.AI to AI provider — Encrypted via TLS 1.3 using the provider’s enterprise API
  4. AI provider response — Streamed back over TLS 1.3
  5. Storage — The conversation (prompt + response) is encrypted with AES-256 and stored in the database
At no point in this flow is unencrypted conversation data written to disk outside of the encrypted database. In-memory processing occurs within isolated containers that are destroyed after each request.

File upload encryption

Uploaded files follow a dedicated encryption pipeline:
  1. File is received over TLS 1.3
  2. File is scanned for malware using ClamAV
  3. File is encrypted with AES-256 and stored in S3 with server-side encryption
  4. A unique file reference (not the file itself) is stored in the database
  5. When retrieved, the file is decrypted in memory and served over TLS 1.3

File processing for RAG

When files are uploaded to an agent’s knowledge base:
  1. The file is decrypted in memory
  2. Text is extracted and chunked
  3. Each chunk is embedded via the configured embedding model
  4. Embeddings are stored in the vector database (encrypted at rest)
  5. The original file remains encrypted in S3

BYOK encryption

When organizations use Bring Your Own Key (BYOK) to provide their own AI provider API keys:
  • The API key is encrypted with a per-organization KMS key before storage
  • The encrypted key is stored in the database
  • At runtime, the key is decrypted in memory, used for the API call, and discarded
  • The plaintext key is never logged, cached, or written to disk
See the BYOK guide for setup instructions.

Cryptographic standards

PurposeAlgorithmKey size
Data at restAES-256-GCM256-bit
Data in transitTLS 1.3 (ECDHE + AES-256-GCM)256-bit
Password hashingbcryptCost factor 12
API key hashingbcryptCost factor 12
Key derivationHKDF-SHA256256-bit
Digital signaturesECDSA P-256256-bit