FatoCadeia de Custódia

Documento Operacional · Fluxo de Captura · Público

Fluxo Operacional de uma Gravação Fato

Descrição do procedimento técnico aplicado em todas as gravações finalizadas pela plataforma, da autenticação inicial à publicação do manifesto contra-assinado. Acompanha o Documento Técnico de Segurança e a Especificação de Hash.

Versão
1.1
Vigência
18 abr 2026
Etapas
8 · sequenciais
Plataforma
Web · macOS
§ 1 · Diagrama Operacional

Visão geral do fluxo

Toda gravação Fato percorre, sem exceção, os seis estágios representados abaixo. As marcas em destaque indicam pontos de produção ou verificação criptográfica.

ClienteWeb ou Desktop
WebSocketJWT + ed25519
APIFastAPI
Hash ChainSHA-256
Manifestoed25519 servidor
S3Imutável

Figura 1. Estágios sequenciais de uma gravação. Os blocos destacados produzem ou consomem prova criptográfica.

§ 2 · Etapas Detalhadas

Sequência operacional

As oito etapas a seguir são executadas em ordem rigorosa para cada gravação. Nenhuma exige confiança no operador, no servidor ou na rede — a integridade é demonstrada matematicamente em cada estágio.

  1. 1.

    Autenticação e abertura de sessão

    O cliente — versão web ou aplicativo desktop — abre uma conexão WebSocket autenticada com o token JWT do operador no endpoint /ws/record/{id}. A conexão permanece ativa durante toda a captura.

  2. 2.

    Geração da chave de sessão

    O cliente gera localmente um par de chaves ed25519 efêmero, válido apenas para a sessão corrente. A chave pública é transmitida no quadro inicial de metadados; a privada não transita pela rede.

  3. 3.

    Streaming de vídeo em blocos

    A tela é codificada em H.264 + AAC e transmitida ao servidor em blocos binários de aproximadamente um segundo. Cada bloco é gravado imediatamente em arquivo temporário — não há buffer em memória sujeito a perda em falhas.

  4. 4.

    Cálculo do hash encadeado

    À medida que cada bloco é recebido, o servidor calcula o SHA-256 do bloco concatenado ao hash do bloco anterior. A construção forma uma cadeia em que a modificação de qualquer segmento invalida todos os hashes subsequentes (vide Especificação de Hash).

  5. 5.

    Monitoramento de adulteração

    O cliente monitora, em tempo real, o ambiente de captura: alterações no DOM, revogação de permissões, troca de dispositivos de áudio, encerramento prematuro de janelas. Eventos suspeitos são registrados como tamperEvent com carimbo de tempo e incluídos no manifesto.

  6. 6.

    Encerramento e composição do manifesto

    Ao parar a gravação, o cliente envia o quadro {type:"stop"} com o hash do último bloco. O servidor calcula o SHA-256 do arquivo completo, compõe o manifesto JSON da sessão e o assina com sua chave ed25519 persistente.

  7. 7.

    Publicação no armazenamento imutável

    O arquivo finalizado e o manifesto assinado são publicados no bucket S3 (ou em armazenamento local, em ambiente de desenvolvimento). O registro no banco recebe a marca finalized = true e a gravação torna-se acessível no portal para download e auditoria.

  8. 8.

    Verificação independente a qualquer tempo

    Qualquer parte detentora do arquivo, do manifesto e das chaves públicas pode verificar offline a autenticidade e a integridade da gravação, sem depender da plataforma Fato. O procedimento é descrito no Documento de Segurança, § 5.

§ 3 · Metadados Capturados

Campos registrados em cada gravação

Cada gravação registra, ao lado do conteúdo de vídeo, o conjunto de metadados abaixo. Todos os campos são incluídos no manifesto descrito no Documento de Segurança, § 2.3.

CategoriaConteúdo registrado
IdentidadeE-mail do operador autenticado, identificador único da sessão (UUID v4), endereço IP de origem da conexão.
SistemaSistema operacional e versão; navegador e versão (versão web); modelo de hardware (versão desktop).
TelaResolução, escala DPI, monitor selecionado, idioma do sistema operacional.
TempoCarimbos de início e encerramento em UTC (ISO-8601), timezone local, duração total em milissegundos.
ContextoURL e título da aba capturada (versão web); motivo da captura declarado pelo operador.
IntegridadeChave pública ed25519 do cliente; hash SHA-256 final; hash da cadeia (§ 2.2 do Documento de Segurança); lista de eventos de adulteração detectados.
Fato · Documento Operacional · Versão 1.1Vigência 18.04.2026