De architectuur van TranscribIA, uitgelegd voor uw technische teams.
Het meest gevraagde document tijdens voorverkoop. TranscribIA is een audiotranscriptieplatform voor organisaties die de verwerkingsketen van hun opnamen moeten begrijpen, auditen en beheersen. Dit document beschrijft feitelijk de onderdelen, gegevensstromen, multi-tenantisolatie, ingebouwde beveiliging, twee implementatiemodellen en verwerkersketen, zonder overdreven claims.
Technische fiche v1.0 — 30 juni 2026. Uitgever: AMBASSADIA SARL (Monaco). Contact: contact@transcribia.eu.
Onderdelen
Een architectuur met afzonderlijke diensten
Elke verantwoordelijkheid ligt bij een afzonderlijke dienst, aangestuurd via Docker Compose (8 diensten). Gegevens lopen alleen via onderdelen die deze voor hun functie nodig hebben.
# Algemeen overzicht van de onderdelen
┌─────────────────────────────────────────────────────────────┐
│ Utilisateurs — Frontend React 19 / TypeScript / Vite │
└──────────────────────────┬──────────────────────────────────┘
▼ HTTPS · TLS 1.2+
┌─────────────────────────────────────────────────────────────┐
│ Nginx — reverse proxy + termination TLS │
└─┬──────────────────────┬──────────────────────┬────────────┘
▼ ▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌────────────────────┐
│ API Laravel │ │ Laravel Reverb │ │ ClamAV │
│ 12 / PHP 8.3│ │ (WebSocket) │ │ antivirus uploads │
│ + Sanctum │ │ progression RT │ │ │
└──┬───────┬───┘ └──────────────────┘ └────────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────────────────────────────────┐
│ PostgreSQL │ │ Redis 7 — cache · queues · sessions │
│ 16 │ └──────────────────────────────────────────┘
│ 1 schéma / │ ┌──────────────────────────────────────────┐
│ organisa- │ │ Workers transcription (consommateurs) │
│ tion │ └─────────────────┬────────────────────────┘
└──────────────┘ ▼
┌────────────────────────────────────┐
│ Serveur GPU — WhisperX / pyannote │
│ transcription + diarisation │
└─────────────────┬──────────────────┘
▼
┌────────────────────────────────────┐
│ IA — OpenRouter (Anthropic/OpenAI)│
│ post-traitement · no-train │
└────────────────────────────────────┘
Sauvegardes : age (chiffrement) + rclone → Backblaze B2 / Scaleway (UE) Frontend
React 19 · TypeScript · Vite
- Statische SPA-build aangeboden door Nginx
- Voortgang in realtime via Reverb (WebSocket)
- Geen bedrijfslogica in de browser
Laravel-API
Laravel 12 · PHP 8.3 · Sanctum
- Bedrijfslogica, REST en taakcoördinatie
- Sanctum-authenticatie en 2FA TOTP
- RBAC met 5 niveaus, minimale rechten
PostgreSQL
PostgreSQL 16 · multi-tenant
- Een afzonderlijk schema per organisatie
- Versleuteling in rust (schijf en database)
- Geen query's tussen tenants
Redis
Redis 7 · cache · wachtrijen
- Applicatiecache en sessies
- Transcriptiewachtrijen
- Coördinatie van workers
Laravel Reverb
WebSocket in realtime
- Live voortgang van transcripties
- Meldingen en taakstatussen
- Afzonderlijk kanaal per organisatie
Transcriptieworkers
Wachtrijverwerkers
- Coördineren ClamAV → GPU → AI
- Asynchrone en reproduceerbare verwerking
- Isolatie per taak en tenant
GPU-server
WhisperX · pyannote
- Zeer nauwkeurige audiotranscriptie
- Sprekerdiarisatie (sprekeridentificatie)
- Afzonderlijke server buiten de API
AI (nabewerking)
OpenRouter · Anthropic / OpenAI
- Tekstopmaak en nabewerking
- Contractueel verbod op modeltraining (no-train)
- Tijdelijke gegevens, niet bewaard
De route van een opname
Van audiobestand tot versleuteld eindresultaat
Deze keten illustreert het gebruikelijke traject van een opname. De toepasselijke maatregelen en het gedrag wanneer een component niet beschikbaar is, hangen af van de implementatievorm en de contractuele reikwijdte; het beveiligingsbeleid beschrijft in het bijzonder het gedrag van de antivirusvoorziening.
Versleutelde upload
Het audiobestand gaat via HTTPS (TLS 1.2+) naar Nginx en vervolgens naar de Laravel-API.
Antivirus (ClamAV)
Elke upload wordt vóór verwerking gescand. Verdachte bestanden worden geweigerd.
In wachtrij plaatsen (Redis)
De transcriptietaak wordt in de Redis-wachtrij geplaatst, geïsoleerd per organisatie.
GPU-transcriptie
Een worker stuurt de audio naar de GPU-server: WhisperX (transcriptie) en pyannote (diarisatie).
AI-nabewerking
Aanroep via OpenRouter (Anthropic / OpenAI) voor opmaak. No-trainclausule, tijdelijke gegevens.
Versleutelde opslag in rust
De transcriptie en metadata worden opgeslagen in het PostgreSQL-schema van de tenant (versleuteld in rust).
Export
De gebruiker exporteert het eindresultaat (tekst, ondertitels); de voortgang is in realtime zichtbaar via Reverb.
Gegevensscheiding
Eén organisatie, één afzonderlijk PostgreSQL-schema
Gegevens worden niet alleen met een applicatiefilter gescheiden: elke organisatie heeft een eigen schema in de database.
TranscribIA gebruikt een schema-per-organisatiemodel op PostgreSQL 16: gegevens van verschillende klanten worden nooit in dezelfde structuur opgeslagen. De isolatie is structureel op databaseniveau en niet uitsluitend logisch in de applicatie.
Concreet betekent dit dat een query door het ontwerp nooit gegevens van twee organisaties kan combineren: het doelschema wordt bepaald bij het openen van de organisatiesessie. Deze aanpak vereenvoudigt ook volledige export, verwijdering (recht op vergetelheid) en eventuele on-premise-extractie van een tenant.
De activiteitenlogboeken (activity_logs) worden eveneens per organisatie bijgehouden. Platformlogboeken (audit_logs) registreren gevoelige handelingen zonder transcriptie-inhoud bloot te leggen.
Isolatiegaranties
- Afzonderlijk schema. Een apart PostgreSQL-schema per organisatie, bepaald per sessie.
- Geen query's tussen tenants. Het ontwerp voorkomt dat gegevens van twee klanten worden gecombineerd.
- Gescheiden wachtrijen. Transcriptietaken zijn in Redis geïsoleerd per tenant.
- Privékanaal in realtime. Reverb-gebeurtenissen (voortgang) zijn gescheiden per organisatie.
- Verwijdering per tenant. Volledige ZIP-export en gerichte verwijdering van één organisatie zonder gevolgen voor andere organisaties.
Security by design
Ingebouwde platformcontroles
Onderstaande maatregelen zijn standaard aanwezig en verifieerbaar. Ze worden als technische controles gepresenteerd en lopen niet vooruit op het nalevingskader van uw organisatie.
Versleuteling (tijdens transport en in rust)
- TLS 1.2+ verplicht, overal HTTPS (tijdens transport)
- Versleuteling in rust: schijf en PostgreSQL-database
- Back-ups versleuteld met age (X25519 + ChaCha20-Poly1305)
- Applicatiegeheimen beschermd (AES-256-CBC)
Sterke authenticatie
- Laravel Sanctum-authenticatie
- 2FA TOTP volgens RFC 6238, activering per rol
- Extra wachtwoordcontrole bij destructieve handelingen
- Rate limiting, strikte CORS en CSP-beleid
Toegangsbeheer (RBAC)
- RBAC met 5 niveaus: super_admin, agent, manager, team_lead, user
- Beginsel van minimale rechten
- Rechten per rol en organisatie
- Geen impliciete rechten buiten de tenant
Logging en audit
- activity_logs per organisatie en audit_logs voor het platform
- Alle gevoelige handelingen traceerbaar
- CSV/JSON-exports voor uw audits
- Opgeschoonde logboeken: geen transcriptie-inhoud
Antimalware en hardening
- ClamAV op alle uploads, vóór verwerking
- Scan die verdachte bestanden weigert
- Bijgewerkte onderdelen en virusdefinities
- Gescheiden diensten (Docker, één rol per dienst)
Veerkracht en back-ups
- Dagelijkse versleutelde externe back-ups in de EU
- rclone naar Backblaze B2 / Scaleway (EU)
- Snapshots vóór herstel (tegen overschrijven)
- Gericht herstel per tenant
Twee implementatiemodellen
Soevereine SaaS in Frankrijk of on-premise
Beide modellen gebruiken hetzelfde product. Het verschil zit in wie de beveiligingscontroles uitvoert en waar de gegevens worden opgeslagen.
Soevereine SaaS (Frankrijk)
Beheerde dienst met hosting in Frankrijk, snel operationeel.
Beheerd door de uitgever (AMBASSADIA SARL)
- Hostinger-hosting, datacenter Straatsburg (Frankrijk)
- De uitgever beheert TLS, back-ups, updates, ClamAV en hardening
- Volledig beheerde stack (8 Docker Compose-diensten)
- Externe EU-back-ups (Backblaze B2 / Scaleway)
- Verwerkersovereenkomst en nalevingsdocumentatie beschikbaar
On-premise (uw infrastructuur)
Zelfstandige implementatie in uw omgeving, zonder uitgaande gegevens.
Beheerd door uw organisatie
- Zelfstandige Docker Compose-stack (8 diensten) in uw infrastructuur
- Uw beveiligingsverantwoordelijke beheert hardening, logboeken, back-ups en monitoring
- GPU-server en AI configureerbaar (lokale modellen mogelijk)
- Volledige controle over inventaris en controles
- Geschikt voor geclassificeerde omgevingen of strenge beveiligingseisen
Bij soevereine SaaSbeheert en documenteert de uitgever de controles voor uw audits. Bij on-premiseligt de operationele verantwoordelijkheid (hardening, monitoring, back-ups en updates) bij uw organisatie. De 8 Docker Compose-diensten zijn in beide gevallen gelijk.
Toeleveringsketen
Verwerkers en externe gegevensstromen
TranscribIA gebruikt een beperkt aantal verwerkers, allemaal gevestigd in de Europese Unie. Standaard geen doorgifte buiten de EU.
Hostinger
SaaS-hosting (rekenkracht en primaire opslag)
- Locatie
- Straatsburg, Frankrijk
- Gegevens
- Audiobestanden, metadata, PostgreSQL-database (versleuteld in rust)
Backblaze B2 + Scaleway
Versleutelde externe back-ups (age + rclone)
- Locatie
- Europese Unie (B2 EU / Scaleway Frankrijk)
- Gegevens
- Uitsluitend versleutelde back-ups, geen onversleutelde gegevens
OpenRouter (Anthropic / OpenAI)
AI-routering voor tekstnabewerking
- Locatie
- API-verkeer, no-trainclausule
- Gegevens
- Tijdelijke transcripties/prompts, zonder bewaring of training
GPU-server (WhisperX / pyannote)
Audiotranscriptie en sprekerdiarisatie
- Locatie
- Afzonderlijke infrastructuur, Europese Unie
- Gegevens
- Tijdelijke audiobestanden, na verwerking verwijderd
De volledige lijst van verwerkers, hun contractuele waarborgen en het bewaarbeleid staan in het openbare nalevingsdossier.
Documentatie en contact
Voor uw IT-, beveiligings- en inkoopteams
Het volledige nalevingsdossier — verwerkingsregister, modelverwerkersovereenkomst, beveiligingsmaatregelen, bewaarbeleid, verwerkers en architectuurschema's — is openbaar beschikbaar zonder account. Ons team ondersteunt u bij de technische analyse van uw organisatie.
Uitgever: AMBASSADIA SARL (Monaco). Contact: contact@transcribia.eu. Technische fiche v1.0 — 30 juni 2026.