Cada decisão aqui está escrita, com o que foi descartado e por quê. O que a plataforma ainda não faz está listado no fim.

Construída sobre normas de formato publicadas

Cada formato é lido pela sua norma publicada

O SazAI é o substrato em que os produtos rodam: multi-tenancy, autenticação, linhagem, orquestração, a camada de agentes, medição de uso e decisões versionadas, construídos uma vez. O motor lê cada formato pela sua norma publicada (ECMA-376 e ISO/IEC 29500 para Office, ISO 32000 para PDF, ISO 8601 para datas), cláusula por cláusula; a heurística foi descartada porque não sobrevive a uma auditoria. Cada formato novo custou menos que o anterior:

PPTXo motor inteiro
DOCXuma ordem a menos
XLSXmais uma
PDFestabiliza
Escala logarítmica: cada degrau é uma ordem de grandeza. O quarto ponto não é só o menor: ele é de outra natureza, e custou o mesmo que o terceiro.

O PDF é o primeiro substrato que não é Office, e mesmo assim custou como o terceiro formato: o motor ficou agnóstico de formato, e os quatro formatos rodam numa só arquitetura, cada um com a sua garantia declarada.

Não é plug and play para quem chega de fora: a velocidade vem da equipe que conhece os motores.

A proteção de dados é desenho

Você confere isso auditando o schema

  • As tabelas da plataforma não guardam conteúdo de documento; o conteúdo mora no schema próprio da sua organização, sensível e apagável.
  • O isolamento entre tenants é uma coluna, não uma promessa.
  • Certificação hoje: nenhuma. Os controles são desenhados para servir de evidência quando ela for buscada.

Canais abertos: API e MCP

Tudo o que o agente pode fazer existe na API aberta

O canal do agente é um resource server OAuth padrão (401 sem credencial, descoberta publicada), e por contrato MCP ⊆ OpenAPI. O seu time pode construir um agente de terceiros, um painel ou um fluxo sobre o mesmo substrato.

Como validamos, e como decidimos

Testes que recusam, auditoria com método, decisões substituídas frase a frase

Testes: a suíte do design system roda em cada build. Guardas: um build que quebra uma regra não sai. Carga: em 2026-07-20, numa réplica de produção, 50 leituras concorrentes em 0,77 s, um trabalho pesado com pico de 4,71 GiB num teto de 5 GiB, e ondas de cinco e dez trabalhos com zero falhas; em sobrecarga, o trabalho entra em fila.

Não somos certificados SOC2 nem ISO. Temos auditoria interna documentada, com método declarado, e os defeitos dela publicados ao lado do que passou. As decisões escritas são desenhadas para servir de evidência de controle quando a certificação for buscada.

Cada decisão de arquitetura é um documento datado com a alternativa rejeitada e o motivo: 61 em 2026-09-01. Uma decisão nova nomeia a frase de uma antiga que deixa de valer.

O que esta página não afirma. O teste de carga é de cinquenta assentos e um trabalho pesado por vez, não de cinquenta trabalhos concorrentes. Os veredictos de auditoria item a item estão no documento técnico para uma avaliação, não são públicos. E o número de decisões aceitas não é publicado até que um comando o produza.

Recibo

Plug and play4 ADRs e a receita · a curva de quatro pontos · a partição de tabelas, re-derivável
Controle de fila5 ADRs · o teste de carga de 2026-07-20 e a capacidade de produção medida abaixo
Arquitetura · linhagem · tenancycom a borda do provedor declarada como furo nomeado
Versionamento de decisõesdecisões datadas, substituição cirúrgica

Prática declarada

Versionamento de schemadireção declarada
Versionamento de artefatosdireção declarada
Comunicação entre agentesdireção declarada, com os modos de falha medidos

Capacidade medida em produção

O que um servidor de produção processou num teste de carga, e o que ainda não foi medido

Medido em 2026-10-27 e 2026-10-28 na versão b245844a4, para um tenant, num servidor com 2 vCPU e 7,6 GiB de memória conforme o sistema operacional informa. Nessa versão, o envio era limitado a 40 MiB por arquivo. O SazAI Corpus de cada cliente será instalado no próprio servidor desse cliente, então os números dele vão depender desse servidor.

O que foi enviado, em arquivos. Foram enviados 83 arquivos: 82 aceitos e 1 recusado no envio, um arquivo de texto com nome .pdf. Os 82 arquivos aceitos somam 150,1 MiB; o maior tem 26,4 MiB.

formatomenos de 0,1 MiB0,1 a 1 MiB1 a 10 MiB10 a 40 MiB
docx8220
jpeg7000
pdf4540
png21310
pptx0346
xlsx10110

O que aconteceu, em jobs. Um arquivo pode gerar vários jobs: leitura, pré-visualização, OCR, comparação. Os 82 arquivos aceitos geraram 151 jobs. 149 estavam concluídos na última leitura de estado. Entre os 143 jobs com leitura final, 0 falharam; 8 jobs não têm leitura final, 2 deles ainda rodando quando a primeira parte do teste parou. Esses 2 contam como não terminados, não como descartados. Nas janelas observadas, nenhum worker ficou sem memória nem reiniciou; os últimos 40 segundos do teste não foram observados.

Tempo de processamento por etapa, em segundos. Do início ao fim de uma etapa, sem a espera na fila. p50 é a mediana e maior é a execução mais longa; n é o número de execuções. O p95 só aparece onde n é 20 ou mais: leitura png 0,4, OCR imagens 406,3.

etapaformatonp50maior
leituradocx120,40,5
leiturajpeg50,30,6
leiturapdf130,64,5
leiturapng250,30,4
leiturapptx24,14,5
leituraxlsx120,41,3
pré-visualizaçãodocx121,74,9
pré-visualizaçãopdf130,412,8
pré-visualizaçãopptx218,018,7
pré-visualizaçãoxlsx121,72,9
OCRimagens30315,0406,5
OCRdocx618,2473,0
OCRpdf1325,0861,1
OCRpptx2422,5446,5
OCRxlsx317,368,7
comparaçãopdf20,60,7

As pré-visualizações que o servidor rodou por conta própria levaram 2,4 s ou menos, e as estatísticas 3,6 s ou menos, em todas as execuções medidas por execução. O OCR é a etapa lenta. Para 11 apresentações da primeira parte do teste, o tempo foi registrado por atividade e não por execução, então elas não estão nesta tabela.

Espera na fila, em segundos. Antes de a leitura começar, por formato, p50 e maior: docx 176,2 e 200,8 (n 12), jpeg 350,8 e 373,7 (n 5), pdf 233,0 e 276,4 (n 13), png 296,0 e 608,5 (n 25, p95 587,9), pptx 0,1 e 0,5 (n 2), xlsx 214,2 e 235,5 (n 12). Essas esperas foram medidas sob a carga do próprio teste, com arquivos enviados um após o outro e os jobs de OCR do próprio servidor no mesmo teste, então não são a espera de um envio único num servidor ocioso, nem tempo de processamento.

Memória. Maior memória que o worker usou rodando um job neste teste: cerca de 2,8 GiB (147 de 151 jobs medidos).

Ainda não medido. 17 imagens jpeg do plano, 6 delas de 0,1 a 10 MiB, ainda não enviadas; um lote de 300 arquivos; os lotes seguintes; planilhas grandes; mais de um tenant ao mesmo tempo; arquivos acima de 40 MiB; qualquer outro servidor.

O que esta seção não afirma. Nenhum número de arquivos por hora, nenhum número de usuários ao mesmo tempo, e nada sobre um servidor diferente deste.

Método: o teste foi feito pelo agente de QA com a sua ferramenta de carga; os números vêm da planilha de capacidade dele, montada sem acesso à produção, a partir dos arquivos gravados (sha256 71bb0c58cb187f14f61bcc272ef7dc2ac0dc836e0dc92941328ab7892e21f376). A seção é atualizada depois do lote de 300 arquivos e do lote de jpeg. Última atualização: 2026-10-28.

Roteiro: o que estamos construindo

Nada abaixo foi entregue, nenhum item deve pesar na sua decisão hoje, e ninguém da nossa equipe deve apresentar algum deles no presente. Quando uma peça é entregue, ela sai desta lista e aparece na página da sua capacidade, com a data. O que foi entregue está no percurso do produto; os limites, em confiar.

  • Inteligência de redlines e negociação. O motor de comparação roda hoje sobre versões de documentos; a camada jurídica, que sabe que uma cláusula alterada não é só um parágrafo diferente, não existe.
  • Agentes especializados sobre o seu cofre. Um tutor ou um avaliador com escopo próprio. O corpus, a linhagem e a citação de fonte existem; a especialização por agente, não.
  • Um substrato governado para uma frota de agentes. O cofre já é portável e legível por fora; a governança da frota não está construída.
  • O provedor de identidade dentro da sua zona. O login federado passa hoje por um provedor de identidade na nuvem; rodá-lo dentro de uma instalação sua é direção, não entregue.

O que existe, mas sem prova pública

  • Exportação do cofre. Ainda não há demonstração publicada que qualquer pessoa reproduza sem nós; até lá, é conversa de due diligence.
  • O registro como evidência formal de auditoria. Ele serve de evidência de controle; se atende a um requisito do seu setor se responde caso a caso.
  • Escala acima do que medimos. Centenas de milhares ou milhões de documentos não foram exercitados: um projeto de dimensionamento antes de uma compra.

O que ainda não existe

  • Verificação visual. O sistema conta elementos; ele não olha a página final.
  • Exclusão que alcança as cópias de backup. A exclusão é completa nos sistemas em uso e não alcança os backups dentro da janela de retenção; o caminho está definido, não construído. Escopo em privacidade e soberania.

Onde a borda passa

O provedor. A linhagem se interrompe onde o texto sai para o modelo de linguagem e recomeça quando ele volta; o outro lado é regido pelos termos de retenção do provedor, e numa instalação sua o provedor é escolha sua. A exclusão de copyleft. Nenhuma biblioteca AGPL entra no motor, escrito no arquivo de dependências; é um comentário, não uma trava. Os agentes. Este sistema é construído por agentes com escopo declarado e uma cadeia de revisão; a comunicação entre eles é prática, não recibo. Como as nossas afirmações de engenharia estão ancoradas, e onde são fracas, está em confiar.