Cryptography & Data Protection
Streamdiver operates a sovereign media platform with AI-powered content processing — exclusively on European infrastructure in Austria, Germany, and Finland. No US cloud services are used; there is no exposure to the CLOUD Act.
This document describes the cryptographic protection of data across its entire lifecycle: from capture in the browser, through encrypted transmission and storage, to AI processing. It is intended for security officers, data protection officers, and technical decision-makers who require a thorough assessment of data security.
| Document ID | TC-CDP-001 |
| Version | 1.4 |
| Date | 2026-10-08 |
| Scope | Streamdiver Platform |
| Applicable Law | GDPR (EU), öDSG (AT); compatible with BDSG (DE) and FADP/nDSG (CH) |
| Related Documents | TC-LLM-001 — LLM Infrastructure and Data Protection |
Cryptographic Protection Profile:
- End-to-end transport encryption (TLS 1.2/1.3) on all external communication paths
- Mutual authentication and encryption of internal services via service mesh (mTLS) with automatic certificate rotation every 24 hours
- Multi-layered network encryption: TLS (external) → mTLS (service mesh) → WireGuard (CNI-level on AI cluster; cross-cluster tunnels via Tailscale)
- AES-256 volume encryption for all managed databases with automatic key rotation
- AES-256 server-side encryption for all media content in object storage
- Encrypted database backups (AES-256-CTR with RSA-3072 key wrapping), plus an AES-256 encrypted archive copy of the database with a second, independent European provider; database backups are retained for 3 months
- Centralized, automated secrets management with audit trail
- Self-hosted AI services and LLM inference — no data outflow to third parties
- 100% European infrastructure (Exoscale AT/CH, Hetzner DE, Verda FI) with no CLOUD Act exposure
The measures described in this document are managed and continuously improved within the Streamdiver Information Security Management System (ISMS), aligned with ISO/IEC 27001:2022.
1. Data Flow & Browser Security
1.1 Architecture Principle
The Streamdiver platform processes media content (video, audio, documents) through a cloud-based pipeline. The end user's browser serves exclusively as a control interface and playback client — not as a storage or processing location for media data.
1.2 Upload Flow (Browser → Server)
The upload process works as follows:
- The user selects a file in the management interface.
- The file is transmitted to the backend API via HTTPS (TLS 1.2/1.3).
- The API stores the file directly in object storage (S3-compatible, TLS-encrypted).
- Metadata is recorded in the encrypted application database.
During upload, the browser holds the file reference exclusively in volatile memory (RAM). No media data is stored in LocalStorage, IndexedDB, or SessionStorage. After the upload completes or the session is terminated, no file fragments remain in the browser.
1.3 Playback Flow (Streaming)
Media playback uses HLS (HTTP Live Streaming) with all traffic encrypted via TLS 1.2/1.3. Content access is governed by the platform's channel-based authorization model — only assets assigned to channels the requesting client is authorized for are served.
- The player requests an HLS manifest via HTTPS.
- The origin server validates the request, generates HLS segments on-demand from source files in object storage, and delivers them via HTTPS.
- The player holds only the current and next segments in a volatile RAM buffer — no media data is written to disk or persistent browser storage.
1.4 Browser Storage & Caching
The Streamdiver player is designed to leave no persistent trace on the end user's device:
| Control | Details |
|---|---|
| No application-level storage | No LocalStorage, IndexedDB, SessionStorage, or cookies are used |
| RAM-only buffering | Media segments exist only in volatile memory during playback |
Cache-Control headers | Short max-age values minimize the window for browser HTTP cache retention |
| TLS-only delivery | All content is bound to the encrypted HTTPS session |
The browser's built-in HTTP cache may briefly retain HLS segments as part of standard protocol behavior. This is transient and controlled by the Cache-Control headers described above.
Implementation Status — Data Flow & Browser Security
Measure Status No persistent media storage in browser Implemented TLS-protected upload and streaming Implemented Cache control via HTTP headers Implemented Channel-based access control Implemented
2. Data in Transit
2.1 External Communication (Client ↔ Server)
All communication between end devices and the Streamdiver platform is transport-encrypted.
| Parameter | Value |
|---|---|
| Protocol | TLS 1.2 / TLS 1.3 |
| TLS Termination | API Gateway (Envoy-based) |
| Cipher Suites | Envoy proxy defaults: ECDHE key exchange with AES-GCM and ChaCha20-Poly1305; legacy ciphers (RC4, 3DES, CBC) are not supported by the proxy |
| Certificates | Automatically managed (Let's Encrypt) with automatic renewal |
| HSTS | Enabled on all public endpoints |
2.2 Internal Communication (Service ↔ Service)
Service-to-service traffic within each Kubernetes cluster is secured by a service mesh. The scope of mTLS enforcement varies by cluster:
| Cluster | mTLS Mode | Scope |
|---|---|---|
| AI Processing Cluster (Hetzner, DE) | mTLS STRICT | All services — plaintext connections are rejected |
| Application Cluster (Exoscale, AT) | mTLS PERMISSIVE | mTLS enabled and used for all mesh-enrolled services; enforcement is being tightened to STRICT |
Service mesh properties (both clusters):
| Parameter | Value |
|---|---|
| Identities | Cryptographic workload identities (SPIFFE-compatible) |
| Certificate Rotation | Automatic every 24 hours |
| Authorization | Policy-based access control per service |
Each mesh-enrolled service receives its own workload certificate. Cross-cluster communication (e.g., application cluster to AI processing cluster) is secured via WireGuard tunnels (see Section 2.3 and 2.4), not via the service mesh.