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:
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
Prática declarada
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.
| formato | menos de 0,1 MiB | 0,1 a 1 MiB | 1 a 10 MiB | 10 a 40 MiB |
|---|---|---|---|---|
| docx | 8 | 2 | 2 | 0 |
| jpeg | 7 | 0 | 0 | 0 |
| 4 | 5 | 4 | 0 | |
| png | 21 | 3 | 1 | 0 |
| pptx | 0 | 3 | 4 | 6 |
| xlsx | 10 | 1 | 1 | 0 |
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.
| etapa | formato | n | p50 | maior |
|---|---|---|---|---|
| leitura | docx | 12 | 0,4 | 0,5 |
| leitura | jpeg | 5 | 0,3 | 0,6 |
| leitura | 13 | 0,6 | 4,5 | |
| leitura | png | 25 | 0,3 | 0,4 |
| leitura | pptx | 2 | 4,1 | 4,5 |
| leitura | xlsx | 12 | 0,4 | 1,3 |
| pré-visualização | docx | 12 | 1,7 | 4,9 |
| pré-visualização | 13 | 0,4 | 12,8 | |
| pré-visualização | pptx | 2 | 18,0 | 18,7 |
| pré-visualização | xlsx | 12 | 1,7 | 2,9 |
| OCR | imagens | 30 | 315,0 | 406,5 |
| OCR | docx | 6 | 18,2 | 473,0 |
| OCR | 13 | 25,0 | 861,1 | |
| OCR | pptx | 2 | 422,5 | 446,5 |
| OCR | xlsx | 3 | 17,3 | 68,7 |
| comparação | 2 | 0,6 | 0,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.