A arquitetura do TranscribIA, explicada às suas equipas técnicas.
O documento de referência mais solicitado na fase de pré-venda. O TranscribIA é uma plataforma de transcrição de áudio concebida para organizações que precisam de compreender, auditar e controlar a cadeia de tratamento das suas gravações. Esta ficha descreve os componentes, o fluxo de dados, o isolamento entre organizações, as medidas de segurança integradas, os dois modelos de implementação e a cadeia de subcontratação — de forma factual, sem exagerar as garantias.
Ficha técnica v1.0 — 30 de junho de 2026. Editora: AMBASSADIA SARL (Mónaco). Contacto: contact@transcribia.eu.
Componentes
Uma arquitetura com serviços dedicados
Cada responsabilidade é assegurada por um serviço distinto, orquestrado através de Docker Compose (8 serviços). Nenhum dado passa por um componente cuja função não o exija.
# Diagrama geral dos componentes
┌─────────────────────────────────────────────────────────────┐
│ 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
- SPA com compilação estática servida por Nginx
- Progresso em tempo real através de Reverb (WebSocket)
- Sem lógica de negócio no navegador
API Laravel
Laravel 12 · PHP 8.3 · Sanctum
- Lógica de negócio, REST, orquestração de tarefas
- Autenticação Sanctum + 2FA TOTP
- RBAC com 5 níveis, privilégio mínimo
PostgreSQL
PostgreSQL 16 · multi-inquilino
- Um esquema dedicado por organização
- Encriptação em repouso (disco + base de dados)
- Sem consultas entre organizações
Redis
Redis 7 · cache · filas
- Cache da aplicação e sessões
- Filas de transcrição
- Coordenação dos workers
Laravel Reverb
WebSocket em tempo real
- Progresso da transcrição em direto
- Notificações e estados das tarefas
- Canal isolado por organização
Workers de transcrição
Consumidores de filas
- Orquestram ClamAV → GPU → IA
- Tratamento assíncrono e reprodutível
- Isolamento por tarefa e por organização
Servidor GPU
WhisperX · pyannote
- Transcrição de áudio de alta precisão
- Diarização (identificação dos intervenientes)
- Servidor dedicado, externo à API
IA (pós-processamento)
OpenRouter · Anthropic / OpenAI
- Formatação e pós-processamento do texto
- Cláusula de não utilização para treino (no-train)
- Dados temporários, sem conservação
O percurso de uma gravação
Do ficheiro de áudio ao resultado encriptado
Esta cadeia ilustra o percurso habitual de uma gravação. As medidas aplicáveis e o comportamento quando um componente está indisponível dependem da modalidade de implementação e do âmbito contratual; a política de segurança descreve, em particular, o comportamento do antivírus.
Carregamento encriptado
O ficheiro de áudio é transmitido por HTTPS (TLS 1.2+) até ao Nginx e depois à API Laravel.
Antivírus (ClamAV)
Análise sistemática do ficheiro antes de qualquer tratamento. Qualquer ficheiro suspeito é rejeitado.
Colocação em fila (Redis)
A tarefa de transcrição é colocada na fila Redis, isolada por organização.
Transcrição por GPU
Um worker transmite o áudio ao servidor GPU: WhisperX (transcrição) + pyannote (diarização).
Pós-processamento por IA
Chamada através de OpenRouter (Anthropic / OpenAI) para formatação. Cláusula no-train, dados temporários.
Armazenamento encriptado em repouso
A transcrição e os metadados são escritos no esquema PostgreSQL dedicado à organização (em repouso).
Exportação
O utilizador exporta o resultado (texto, legendas); o progresso é visível em tempo real através de Reverb.
Isolamento
Uma organização, um esquema PostgreSQL dedicado
O isolamento dos dados não assenta num simples filtro da aplicação: cada organização dispõe do seu próprio esquema na base de dados.
O TranscribIA aplica um modelo schema-per-organisation no PostgreSQL 16: os dados de um cliente nunca são armazenados na mesma estrutura que os de outro. O isolamento é estrutural, ao nível da base de dados, e não apenas lógico ao nível da aplicação.
Na prática, isto significa que nenhuma consulta pode, pela própria conceção, cruzar dados de duas organizações: o esquema de destino é determinado no início da sessão da organização. Esta abordagem também facilita a exportação integral, o apagamento (direito ao esquecimento) e uma eventual extração de uma organização para instalação local.
Os registos de atividade (activity_logs) também são mantidos por organização, e os registos da plataforma (audit_logs) documentam as ações sensíveis sem expor o conteúdo das transcrições.
Garantias de isolamento
- Esquema dedicado. Um esquema PostgreSQL distinto por organização, determinado na sessão.
- Sem consultas entre organizações. A conceção impede o cruzamento de dados de dois clientes.
- Filas isoladas. As tarefas de transcrição são isoladas por organização no Redis.
- Canal privado em tempo real. Os eventos Reverb (progresso) são isolados por organização.
- Eliminação por organização. Exportação ZIP integral e apagamento seletivo de uma organização sem afetar as restantes.
Segurança desde a conceção
Controlos integrados na plataforma
As medidas abaixo são nativas e verificáveis. São apresentadas como controlos técnicos, sem prejulgar o enquadramento de conformidade específico da sua organização.
Encriptação (em trânsito e em repouso)
- TLS 1.2+ obrigatório, HTTPS em todas as ligações (em trânsito)
- Encriptação em repouso: disco e base de dados PostgreSQL
- Cópias de segurança encriptadas com age (X25519 + ChaCha20-Poly1305)
- Segredos da aplicação protegidos (AES-256-CBC)
Autenticação forte
- Autenticação Laravel Sanctum
- 2FA TOTP conforme com a RFC 6238, ativação por função
- Confirmação adicional de palavra-passe para ações destrutivas
- Limitação de pedidos, CORS restrito e política CSP
Controlo de acesso (RBAC)
- RBAC com 5 níveis: super_admin, agent, manager, team_lead, user
- Princípio do privilégio mínimo
- Permissões por função e por organização
- Sem privilégios implícitos fora do âmbito da organização
Registos e auditoria
- activity_logs por organização + audit_logs da plataforma
- Rastreabilidade de todas as ações sensíveis
- Exportações CSV/JSON para as suas auditorias
- Registos filtrados: sem conteúdo das transcrições
Antimalware e reforço de segurança
- ClamAV em todos os ficheiros carregados, antes do tratamento
- Análise que rejeita ficheiros suspeitos
- Componentes e assinaturas atualizados
- Serviços isolados (Docker, uma função por serviço)
Resiliência e cópias de segurança
- Cópias de segurança diárias encriptadas, externas, na UE
- rclone para Backblaze B2 / Scaleway (UE)
- Instantâneos antes do restauro (proteção contra substituição)
- Restauro granular por organização
Dois modelos de implementação
SaaS soberano em França ou instalação local
Ambos os modos partilham exatamente o mesmo produto. A diferença reside em quem opera os controlos de segurança e onde os dados são alojados.
SaaS soberano (França)
Serviço gerido, alojado em França, rapidamente operacional.
Âmbito operado pela editora (AMBASSADIA SARL)
- Alojamento Hostinger, centro de dados de Estrasburgo (França)
- A editora supervisiona TLS, cópias de segurança, atualizações, ClamAV e reforço de segurança
- Infraestrutura completa gerida (8 serviços Docker Compose)
- Cópias de segurança externas na UE (Backblaze B2 / Scaleway)
- DPA e documentação de conformidade prontos a utilizar
Instalação local (na sua infraestrutura)
Implementação autónoma no seu ambiente, sem saída de dados.
Âmbito operado pela sua organização
- Docker Compose autónomo (8 serviços), na sua infraestrutura
- O seu responsável de segurança gere o reforço, os registos, as cópias de segurança e a monitorização
- Servidor GPU e IA configuráveis (possibilidade de modelos locais)
- Controlo total do inventário e dos controlos
- Adequado a ambientes classificados ou com fortes exigências de segurança
Em modo SaaS soberano, a editora opera e documenta os controlos para as suas auditorias. Em modo instalação local, a responsabilidade operacional pelas medidas (reforço, monitorização, cópias de segurança e atualizações) cabe à sua organização. Os 8 serviços Docker Compose são idênticos nos dois casos.
Cadeia de fornecimento
Subcontratantes e fluxos externos
O TranscribIA recorre a um número limitado de subcontratantes, todos situados na União Europeia. Sem transferências para fora da UE por predefinição.
Hostinger
Alojamento SaaS (computação + armazenamento primário)
- Localização
- Estrasburgo, França
- Dados
- Ficheiros de áudio, metadados e base PostgreSQL (encriptados em repouso)
Backblaze B2 + Scaleway
Cópias de segurança externas encriptadas (age + rclone)
- Localização
- União Europeia (B2 UE / Scaleway França)
- Dados
- Apenas cópias de segurança encriptadas — sem dados em claro
OpenRouter (Anthropic / OpenAI)
Encaminhamento de IA para pós-processamento do texto
- Localização
- Trânsito por API, cláusula no-train
- Dados
- Transcrições / instruções temporárias — sem conservação nem treino
Servidor GPU (WhisperX / pyannote)
Transcrição de áudio + diarização dos intervenientes
- Localização
- Infraestrutura dedicada, União Europeia
- Dados
- Ficheiros de áudio temporários, tratados e depois eliminados
A lista completa de subcontratantes, as suas garantias contratuais e a política de conservação estão detalhadas no dossiê público de conformidade.
Documentação e contacto
Para os seus diretores de TI, responsáveis de segurança e compradores
O dossiê completo de conformidade — registo de tratamentos, modelo de DPA, medidas de segurança, política de conservação, subcontratantes e diagramas de arquitetura — pode ser consultado publicamente, sem criar conta. A nossa equipa acompanha a análise técnica da sua organização.
Editora: AMBASSADIA SARL (Mónaco). Contacto: contact@transcribia.eu. Ficha técnica v1.0 — 30 de junho de 2026.