Checklist completo do projeto
A plataforma ainda não está concluída conforme o projeto. Consulte aqui o que foi aceito e o que segue aberto, com a evidência de cada item.
826itens do projeto
74aceitos em homologação
752abertos / parciais
2 de 11fases com gate fechado
Dos 752 itens abertos, 12 têm observação explicitamente marcada como parcial. Os demais também podem conter código parcial ainda sem aceite registrado. Estes números medem o checklist, não um percentual de desenvolvimento.
Última suíte registrada: 58 testes e 402 asserções aprovados; 13 cenários de navegador registrados. Há recursos em implementação e conexões de provedores a concluir. Testes aprovados não concluem o escopo integral.
O original
/var/PROJETO.MD foi preservado. Esta visualização é gerada de docs/REQUISITOS.md. Todos os critérios DONE continuam sem aceite integral; os gates das fases 0 e 1 estão fechados.826 requisitos exibidos
| ID / prioridade | Requisito | Estado | Evidência / pendência |
|---|---|---|---|
| EXEC-001Escopo obrigatório | Ler o documento inteiro, as instruções do repositório e o estado atual do servidor antes de modificar a instalação. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, docs/ESPECIFICACAO.md e AGENTS.md; inspeção da VPS e preservação dos diretórios existentes. Resultado: aprovado. |
| EXEC-002Escopo obrigatório | Inventariar sistema operacional, serviços, portas, DNS, certificados, recursos, volumes e aplicações existentes. Registrar o resultado sem revelar segredos. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, docs/ESPECIFICACAO.md e AGENTS.md; inspeção da VPS e preservação dos diretórios existentes. Resultado: aprovado. |
| EXEC-003Escopo obrigatório | Reutilizar um repositório apropriado, se existir. Não sobrescrever código ou dados de terceiros para iniciar o projeto. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, docs/ESPECIFICACAO.md e AGENTS.md; inspeção da VPS e preservação dos diretórios existentes. Resultado: aprovado. |
| EXEC-004Escopo obrigatório | Criar docs/PLANO_EXECUCAO.md, com tarefas referenciando os identificadores deste documento, dependências e evidências de conclusão. | Aceito em homologação | Homologação, 09/11/2026: docs/PLANO_EXECUCAO.md, DECISOES.md, PENDENCIAS_EXTERNAS.md e RELATORIO_VALIDACAO.md; arquivos revisados. Resultado: aprovado. |
| EXEC-005Escopo obrigatório | Criar docs/DECISOES.md, docs/PENDENCIAS_EXTERNAS.md e docs/RELATORIO_VALIDACAO.md. | Aceito em homologação | Homologação, 09/11/2026: docs/PLANO_EXECUCAO.md, DECISOES.md, PENDENCIAS_EXTERNAS.md e RELATORIO_VALIDACAO.md; arquivos revisados. Resultado: aprovado. |
| EXEC-006Escopo obrigatório | Implementar em fases com incrementos funcionais. A divisão em fases não reduz o escopo obrigatório da entrega. | Sem aceite integral | Pendente |
| EXEC-007Escopo obrigatório | Usar [ ] para pendente e [x] somente para requisito implementado e validado. Anotar bloqueado ou não aplicável em texto, com motivo e referência; não inventar símbolos de checkbox incompatíveis com Markdown. | Sem aceite integral | Pendente |
| EXEC-008Escopo obrigatório | Registrar, para cada requisito aceito, caminho do código, teste ou procedimento, ambiente, data e resultado. Separar validação local, homologação e produção. | Sem aceite integral | Pendente |
| EXEC-009Escopo obrigatório | Não afirmar “100% funcional” enquanto houver requisito obrigatório sem evidência ou integração de produção ainda pendente. | Aceito em homologação | Homologação, 09/11/2026: docs/RELATORIO_VALIDACAO.md e PENDENCIAS_IMPLEMENTACAO.md; limites de produção e resultados reais explicitados. Resultado: aprovado. |
| EXEC-010Escopo obrigatório | Não encerrar o trabalho ao encontrar falta de uma credencial: concluir o que for independente dela e registrar a dependência exata. | Sem aceite integral | Pendente |
| EXEC-011Escopo obrigatório | Não fabricar chaves, endpoints, respostas de provedor, aprovações comerciais, dados fiscais ou resultados de testes. | Aceito em homologação | Homologação, 09/11/2026: docs/RELATORIO_VALIDACAO.md e PENDENCIAS_IMPLEMENTACAO.md; limites de produção e resultados reais explicitados. Resultado: aprovado. |
| EXEC-012Escopo obrigatório | Consultar a documentação oficial vigente antes de implementar cada adaptador externo e registrar versão/data do contrato utilizado. | Aceito em homologação | Homologação, 09/11/2026: docs/CONTRATOS_PROVEDORES.md; fontes oficiais e contratos registrados por adaptador. Resultado: aprovado. |
| EXEC-013Escopo obrigatório | Usar simulações somente nos testes, identificadas como tal. Impedir sua ativação silenciosa em produção. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Configuracao.php, Pagamentos/InfinitePay.php e testes/IdentidadesTest.php; produção rejeita debug/captura e cobrança exige liberação. Resultado: aprovado. |
| EXEC-014Escopo obrigatório | Manter segredos fora do Git, das capturas, dos relatórios e dos logs. Arquivos de exemplo contêm apenas nomes e placeholders. | Aceito em homologação | Homologação, 09/11/2026: infraestrutura/verificar-segredos.py, .gitignore e docs/evidencias/segredos.json; índice sem credenciais conhecidas. Resultado: aprovado. |
| EXEC-015Escopo obrigatório | Não instalar Laravel, Symfony como framework completo, WordPress, WooCommerce, Magento ou uma arquitetura de microsserviços para substituir a decisão de PHP sem framework. | Aceito em homologação | Homologação, 09/11/2026: composer.json, composer.lock e docs/evidencias/dependencias-licencas.json; PHP sem framework completo e bibliotecas específicas. Resultado: aprovado. |
| EXEC-016Escopo obrigatório | Bibliotecas pequenas para roteamento, e-mail, OAuth, logs e testes são permitidas. Preferir bibliotecas maduras a reimplementar protocolos de segurança. | Aceito em homologação | Homologação, 09/11/2026: composer.json, composer.lock e docs/evidencias/dependencias-licencas.json; PHP sem framework completo e bibliotecas específicas. Resultado: aprovado. |
| EXEC-017Escopo obrigatório | Nunca executar reset do banco, seed destrutivo, limpeza de volumes ou migração irreversível contra dados existentes como rotina de deploy. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Migrador.php e infraestrutura/restaurar-ensaio.sh; migrações progressivas e restauração em banco novo. Resultado: aprovado. |
| EXEC-018Escopo obrigatório | Entregar comandos reproduzíveis e documentação suficiente para outro operador instalar, atualizar, restaurar e diagnosticar o sistema. | Sem aceite integral | Pendente |
| BASE-001P0 | Várias lojas na mesma instalação, com isolamento de todos os dados e credenciais por tenant. | Sem aceite integral | Pendente |
| BASE-002P0 | Painel de uma loja em https://{dominio_plataforma}/adm/{slug_loja}. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php e Modulos/Identidades/Autenticacao.php; testes/e2e.py, login e slug A→B negado. Resultado: aprovado. |
| BASE-003P0 | Vitrine em domínio próprio verificado, por exemplo https://www.lojacamille.com.br. | Sem aceite integral | Pendente |
| BASE-004P0 | Superadministrador em https://{dominio_plataforma}/superadm, com MFA obrigatório e sessão distinta. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Plataforma/ControlePlataforma.php e Nucleo/Sessao.php; testes/e2e.py, e-mail + TOTP e cookies separados. Resultado: aprovado. |
| BASE-005P0 | Ativar, suspender, reativar e encerrar tenants sem apagar seu histórico automaticamente. | Sem aceite integral | Pendente |
| BASE-006P0 | Comprar como convidado, confirmando o e-mail sem criar senha nem aceitar marketing obrigatório. | Sem aceite integral | Pendente |
| BASE-007P0 | Confirmar pagamentos no servidor e impedir duplicidade, fraude de retorno e venda indevida de estoque. | Sem aceite integral | Pendente |
| BASE-008P1 | Contas opcionais de compradores, lista de clientes e histórico de pedidos no painel da respectiva loja. | Sem aceite integral | Pendente |
| BASE-009P1 | Mesmos recursos para CPF, MEI e CNPJ; onboarding adaptado ao perfil. | Sem aceite integral | Pendente |
| BASE-010P1 | Catálogo com variações, imagens, vídeos, categorias, marcas, atributos, filtros e busca. | Sem aceite integral | Pendente |
| BASE-011P1 | Editor visual de seções, cinco modelos por tipo de seção, prévia, publicação e restauração de versões. | Parcial | Parcial: Registro/render seguro dos 50 modelos e revisões; matriz visual e conteúdo operacional completo pendentes. |
| BASE-012P1 | Promoções, cupons, combos, controle de estoque e vários locais operacionais. | Sem aceite integral | Pendente |
| BASE-013P1 | InfinitePay, Melhor Envio e Omie configurados pelo painel; Omie não é dependência para vender. | Sem aceite integral | Pendente |
| BASE-014P1 | Frete integrado, retirada, entrega própria, etiquetas, rastreio e notificações transacionais. | Sem aceite integral | Pendente |
| BASE-015P1 | Relatórios, exportações, API, equipe, permissões e trilha de auditoria. | Sem aceite integral | Pendente |
| BASE-016P0 | Deploy, migrações, filas, agendador, backup externo, restauração testada e monitoramento. | Sem aceite integral | Pendente |
| BASE-017P0 | Nenhuma consulta, arquivo, busca, cache ou job deve vazar informações de outra loja. | Sem aceite integral | Pendente |
| BASE-018P1 | Interface utilizável em celular e desktop, inteiramente em PT-BR. | Sem aceite integral | Pendente |
| ID-001Escopo obrigatório | Separar autenticação da plataforma, autenticação administrativa e autenticação do comprador em componentes e sessões definidos. | Sem aceite integral | Pendente |
| ID-002Escopo obrigatório | O mesmo e-mail em duas lojas não permite consultar compras entre elas. | Sem aceite integral | Pendente |
| ID-003Escopo obrigatório | O mesmo e-mail de comprador e funcionário não concede vínculo administrativo automático. | Sem aceite integral | Pendente |
| ID-004Escopo obrigatório | Cadastro comercial de convidado não equivale à criação de conta autenticável. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Checkout/VerificacaoEmail.php e Checkout.php; testes/CheckoutCompletoTest.php, compra sem senha/conta. Resultado: aprovado. |
| ID-005Escopo obrigatório | Guardar alterações de responsável e de estabelecimento com vigência; preservar o vendedor dos pedidos históricos. | Sem aceite integral | Pendente |
| ARQ-001Escopo obrigatório | Um código de aplicação atende todos os tenants; nenhuma cópia de código por cliente. | Aceito em homologação | Homologação, 09/11/2026: compose.yml e aplicativo/; um mesmo código sob ContextoTenant, testes/FundacaoTest.php. Resultado: aprovado. |
| ARQ-002Escopo obrigatório | PostgreSQL é a fonte de verdade para pedidos, pagamentos, estoque e eventos duráveis. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php, Modulos/Estoques/Estoque.php, Checkout/Checkout.php e Pagamentos/Pagamentos.php; testes/FluxosTest.php. Resultado: aprovado. |
| ARQ-003Escopo obrigatório | Meilisearch e cache são reconstruíveis; não armazenam a única cópia de informação comercial. | Sem aceite integral | Pendente |
| ARQ-004Escopo obrigatório | Registrar eventos em outbox na mesma transação da alteração de negócio. | Sem aceite integral | Pendente |
| ARQ-005Escopo obrigatório | Workers são processos separados do FPM, supervisionados, com encerramento gracioso e retomada. | Sem aceite integral | Pendente |
| ARQ-006Escopo obrigatório | Não depender de uma requisição HTTP aberta para importar catálogo, enviar e-mail ou sincronizar ERP. | Sem aceite integral | Pendente |
| ARQ-007Escopo obrigatório | Serviços de domínio não recebem diretamente parâmetros HTTP sem validação e autorização. | Sem aceite integral | Pendente |
| ARQ-008Escopo obrigatório | Todo repositório de dados comerciais exige ContextoTenant explícito. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php e ContextoTenant.php; testes/FundacaoTest.php, contexto transacional, rollback e PDO não persistente. Resultado: aprovado. |
| ARQ-009Escopo obrigatório | Separar configuração operacional global, configuração da loja e segredos. | Aceito em homologação | Homologação, 09/11/2026: compose.yml, Nucleo/Configuracao.php e Cofre.php; testes/FundacaoTest.php, separação de configuração/chaves e AEAD. Resultado: aprovado. |
| ARQ-010Escopo obrigatório | Usar relógio injetável e transações explícitas para tornar expiração e concorrência testáveis. | Sem aceite integral | Pendente |
| ARQ-011Escopo obrigatório | Cada módulo documenta seus serviços públicos, tabelas, eventos e permissões. | Sem aceite integral | Pendente |
| ARQ-012Escopo obrigatório | Classes e mensagens próprias em PT-BR; nomes de protocolos, bibliotecas e contratos externos mantêm seu padrão. | Sem aceite integral | Pendente |
| ARQ-013Escopo obrigatório | PDO com parâmetros preparados e tratamento transacional centralizado; sem concatenação de entrada em SQL. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php e ContextoTenant.php; testes/FundacaoTest.php, contexto transacional, rollback e PDO não persistente. Resultado: aprovado. |
| ARQ-014Escopo obrigatório | Validar identificadores dinâmicos de ordenação/filtro por lista permitida; placeholders não protegem nomes de coluna. | Sem aceite integral | Pendente |
| ARQ-015Escopo obrigatório | Templates não executam consultas; controllers não concentram regras financeiras. | Sem aceite integral | Pendente |
| ARQ-016Escopo obrigatório | Usar Composer com lock, inventário de licenças e auditoria de dependências. | Aceito em homologação | Homologação, 09/11/2026: composer.lock e docs/evidencias/auditoria-composer.json, dependencias-licencas.json e validacao.txt; auditoria aprovada. Resultado: aprovado. |
| ARQ-017Escopo obrigatório | Documentar bibliotecas adotadas. Sugestões: FastRoute, Monolog, PHPMailer, cliente OAuth e SDK PHP do Meilisearch, apenas quando necessárias. | Sem aceite integral | Pendente |
| ARQ-018Escopo obrigatório | Não adicionar componentes de terceiros sem necessidade, manutenção e compatibilidade com PHP 8.4 verificadas. | Sem aceite integral | Pendente |
| URL-001P0 | Manter UUID interno imutável para a loja. Slug é identificador de navegação, não autorização. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Diretorio.php, Autenticacao.php e migração 001; testes/e2e.py, UUID/vínculo conferido, sem troca de slug no autoatendimento. Resultado: aprovado. |
| URL-002P0 | Resolver rotas administrativas somente no host central configurado. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php e Modulos/Identidades/Autenticacao.php; testes/e2e.py, login e slug A→B negado. Resultado: aprovado. |
| URL-003P0 | Em /adm/{slug}, autenticar o usuário e conferir o vínculo ativo com o UUID resolvido em toda requisição. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php e Modulos/Identidades/Autenticacao.php; testes/e2e.py, login e slug A→B negado. Resultado: aprovado. |
| URL-004P0 | Verificar autorização também em APIs, ações AJAX, upload, exportação e download do painel. | Sem aceite integral | Pendente |
| URL-005P0 | Ignorar tenant_id vindo de body, query, cookie ou cabeçalho público como fonte de autorização. | Sem aceite integral | Pendente |
| URL-006P0 | Aceitar Forwarded/X-Forwarded-Host apenas de proxies explicitamente confiáveis. Rejeitar múltiplos hosts e valores inválidos. | Sem aceite integral | Pendente |
| URL-007P0 | Host não cadastrado retorna página neutra/404/421; nunca renderiza a primeira loja do banco. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Host.php e Modulos/Lojas/Diretorio.php; testes/FundacaoTest.php, host inválido/desconhecido negado. Resultado: aprovado. |
| URL-008P0 | Normalizar host: minúsculas, IDNA/punycode, remoção controlada de porta e ponto final; rejeitar caracteres e formatos ilegais. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Host.php e Modulos/Lojas/Diretorio.php; testes/FundacaoTest.php, host inválido/desconhecido negado. Resultado: aprovado. |
| URL-009P0 | Nunca gerar link de recuperação ou callback a partir de Host não confiável. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Cadastro.php e Modulos/Checkout/Acompanhamento.php; URLs com APP_URL fixo, testes/IdentidadesTest.php e FluxosTest.php. Resultado: aprovado. |
| URL-010Escopo obrigatório | No domínio da loja, /adm pode redirecionar para seu painel central conhecido, sem transportar credenciais, cookies ou tokens de sessão. | Sem aceite integral | Pendente |
| URL-011Escopo obrigatório | Rotas /superadm, callbacks e operações internas não são executadas em domínios de lojistas. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php e infraestrutura/Caddyfile.publico; hosts e superfícies separados, testes/e2e.py. Resultado: aprovado. |
| URL-012Escopo obrigatório | Slug: a-z, 0-9 e hífen, 3 a 63 caracteres; lista de reservados como api, adm, superadm, entrar, webhooks e integracoes. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Diretorio.php e migração 001; testes/FundacaoTest.php e DominiosTest.php, reservados e constraints globais. Resultado: aprovado. |
| URL-013Escopo obrigatório | Unicidade global de slug e hostname. Um domínio não pode pertencer simultaneamente a dois tenants. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Diretorio.php e migração 001; testes/FundacaoTest.php e DominiosTest.php, reservados e constraints globais. Resultado: aprovado. |
| URL-014Escopo obrigatório | Não permitir troca de slug no autoatendimento inicial. Se houver mudança assistida, auditar, atualizar links internos e não transformar alias antigo em acesso a outro tenant. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Diretorio.php, Autenticacao.php e migração 001; testes/e2e.py, UUID/vínculo conferido, sem troca de slug no autoatendimento. Resultado: aprovado. |
| URL-015Escopo obrigatório | Na loja temporária, todos os links, assets, checkout e rotas incluem corretamente o prefixo do tenant. | Sem aceite integral | Pendente |
| URL-016Escopo obrigatório | Cookies da origem temporária não são fronteira de isolamento: validar o tenant e o comprador no servidor em cada operação. | Sem aceite integral | Pendente |
| URL-017Escopo obrigatório | Definir uma URL canônica por loja. O endereço temporário redireciona ou fica sem indexação quando o domínio próprio estiver ativo. | Sem aceite integral | Pendente |
| URL-018Escopo obrigatório | Prévia usa token curto, escopo de loja/versão, noindex e nenhum pagamento real; cookies de sessão nunca aparecem na URL. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Aparencia/Editor.php e Nucleo/Aplicacao.php; testes/FluxosTest.php e e2e.py, prévia assinada/noindex sem cobrança. Resultado: aprovado. |
| DNS-001Escopo obrigatório | No painel, registrar domínio pretendido, exibir instruções de DNS e gerar desafio TXT exclusivo. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Dominios.php, migração 007 e Caddyfile.publico; testes/DominiosTest.php com DNS controlado, sem aceite de domínio real. Resultado: aprovado. |
| DNS-002Escopo obrigatório | Diferenciar domínio raiz e www; explicar A/AAAA ou CNAME conforme suporte do DNS do cliente. | Sem aceite integral | Pendente |
| DNS-003Escopo obrigatório | Exigir comprovação TXT antes de associar o host à loja, inclusive ao reassociar domínio anteriormente utilizado. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Dominios.php, migração 007 e Caddyfile.publico; testes/DominiosTest.php com DNS controlado, sem aceite de domínio real. Resultado: aprovado. |
| DNS-004Escopo obrigatório | Validar resolução para a infraestrutura correta. Não criar AAAA se IPv6 não estiver configurado. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Dominios.php, migração 007 e Caddyfile.publico; testes/DominiosTest.php com DNS controlado, sem aceite de domínio real. Resultado: aprovado. |
| DNS-005Escopo obrigatório | Estados separados: solicitado, aguardando propriedade, aguardando apontamento, aguardando TLS, ativo, erro e removido. | Sem aceite integral | Pendente |
| DNS-006Escopo obrigatório | Emitir certificados somente para hosts aprovados em uma allowlist; nada de TLS sob demanda liberado para qualquer domínio recebido. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Dominios.php, migração 007 e Caddyfile.publico; testes/DominiosTest.php com DNS controlado, sem aceite de domínio real. Resultado: aprovado. |
| DNS-007Escopo obrigatório | Disponibilizar endpoint interno de autorização de TLS, inacessível como uma API administrativa pública, sem consultas externas lentas durante handshake. | Aceito em homologação | Homologação, 09/11/2026: infraestrutura/Caddyfile.publico, infraestrutura/tls/index.php e compose.yml; autorizador somente interno, admin Caddy desligado e sem socket Docker. Resultado: aprovado. |
| DNS-008Escopo obrigatório | O endpoint aprova exclusivamente host verificado e autorizado. Suspender vendas não precisa revogar o certificado necessário para a página de aviso. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Lojas/Dominios.php, migração 007 e Caddyfile.publico; testes/DominiosTest.php com DNS controlado, sem aceite de domínio real. Resultado: aprovado. |
| DNS-009Escopo obrigatório | Proteger a API de administração do Caddy; a aplicação PHP não recebe acesso irrestrito ao Docker socket nem ao servidor web. | Aceito em homologação | Homologação, 09/11/2026: infraestrutura/Caddyfile.publico, infraestrutura/tls/index.php e compose.yml; autorizador somente interno, admin Caddy desligado e sem socket Docker. Resultado: aprovado. |
| DNS-010Escopo obrigatório | Persistir certificados, conta ACME e configurações. Monitorar renovação e falhas antes do vencimento. | Sem aceite integral | Pendente |
| DNS-011Escopo obrigatório | Testar ACME em ambiente de homologação e respeitar limites de emissão em produção. | Sem aceite integral | Pendente |
| DNS-012Escopo obrigatório | Revalidar domínio periodicamente e após alteração suspeita; remover associação não apaga pedidos nem mídia. | Sem aceite integral | Pendente |
| DNS-013Escopo obrigatório | Definir domínio principal e aliases; redirecionar aliases somente para destinos cadastrados. | Sem aceite integral | Pendente |
| DNS-014Escopo obrigatório | Informar na UI se DNS ou certificado ainda impede a publicação, com diagnóstico acionável. | Sem aceite integral | Pendente |
| TEN-001P0 | Toda tabela comercial possui tenant_id NOT NULL, inclusive tabelas filhas, arquivos, eventos, reservas e exportações. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001–011 e compose.yml; testes/FundacaoTest.php, catálogo real confirma tenant obrigatório, ownership e FORCE RLS. Resultado: aprovado. |
| TEN-002P0 | Chaves únicas de negócio incluem tenant: SKU, código de cupom, número público do pedido e identificador do cliente. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001_fundacao.sql; testes/FundacaoTest.php, SKU entre lojas e FK composta negando cruzamento. Resultado: aprovado. |
| TEN-003P0 | Chaves estrangeiras entre dados comerciais incluem (tenant_id, id) para impedir relações cruzadas. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001_fundacao.sql; testes/FundacaoTest.php, SKU entre lojas e FK composta negando cruzamento. Resultado: aprovado. |
| TEN-004P0 | Aplicar RLS com USING e WITH CHECK às tabelas comerciais; contexto ausente deve negar acesso. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001–011 e compose.yml; testes/FundacaoTest.php, catálogo real confirma tenant obrigatório, ownership e FORCE RLS. Resultado: aprovado. |
| TEN-005P0 | Usuário de banco da aplicação não é superusuário, não tem BYPASSRLS, não é dono das tabelas e não executa DDL. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001–011 e compose.yml; testes/FundacaoTest.php, catálogo real confirma tenant obrigatório, ownership e FORCE RLS. Resultado: aprovado. |
| TEN-006P0 | Ativar FORCE ROW LEVEL SECURITY; usuário de migração e credenciais de backup não ficam disponíveis ao processo web. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001–011 e compose.yml; testes/FundacaoTest.php, catálogo real confirma tenant obrigatório, ownership e FORCE RLS. Resultado: aprovado. |
| TEN-007P0 | Abrir transação e definir contexto com set_config(..., true) antes de consultar dados da loja; finalizar a transação em todos os caminhos. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php e ContextoTenant.php; testes/FundacaoTest.php, contexto transacional, rollback e PDO não persistente. Resultado: aprovado. |
| TEN-008P0 | Não usar configuração de tenant persistente na conexão, principalmente com pool. Desabilitar PDO persistente na primeira versão. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php e ContextoTenant.php; testes/FundacaoTest.php, contexto transacional, rollback e PDO não persistente. Resultado: aprovado. |
| TEN-009P0 | RLS complementa a autorização da aplicação. O parâmetro de sessão não protege contra um processo já comprometido capaz de executar SQL arbitrário. | Sem aceite integral | Pendente |
| TEN-010Escopo obrigatório | Documentar exceções globais: registro mínimo de tenants/domínios, identidades administrativas, planos e configurações da plataforma. | Sem aceite integral | Pendente |
| TEN-011Escopo obrigatório | Limitar acesso às tabelas globais por privilégios e operações específicas; um lojista não consulta documentos ou usuários de outros tenants. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001_fundacao.sql e Modulos/Lojas/Diretorio.php; testes/FundacaoTest.php, leitura global direta negada. Resultado: aprovado. |
| TEN-012Escopo obrigatório | Resolver host e slug por projeção mínima/serviço de diretório, sem expor a tabela cadastral completa. | Aceito em homologação | Homologação, 09/11/2026: banco/migracoes/001_fundacao.sql e Modulos/Lojas/Diretorio.php; testes/FundacaoTest.php, leitura global direta negada. Resultado: aprovado. |
| TEN-013Escopo obrigatório | Agregados de superadmin usam consultas/projeções administrativas autorizadas, auditadas e sem expor credenciais ou dados pessoais desnecessários. | Sem aceite integral | Pendente |
| TEN-014Escopo obrigatório | Para atuar sobre dados comerciais, o superadmin abre contexto explícito de um tenant autorizado; não existe tenant_id=* no código web. | Sem aceite integral | Pendente |
| TEN-015Escopo obrigatório | Repositórios exigem tenant mesmo quando a tabela possui UUID globalmente único. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Banco.php e ContextoTenant.php; testes/FundacaoTest.php, contexto transacional, rollback e PDO não persistente. Resultado: aprovado. |
| TEN-016P0 | Chaves Redis incluem ambiente, tenant, finalidade e versão: producao:t:{uuid}:catalogo:v3:{hash}. | Sem aceite integral | Pendente |
| TEN-017P0 | Cache público inclui host/tenant, idioma, moeda, versão publicada e parâmetros relevantes; páginas privadas nunca entram no cache compartilhado. | Sem aceite integral | Pendente |
| TEN-018P0 | Nenhum CDN ou proxy armazena checkout, conta, OTP, painel, resposta com dados pessoais ou página autenticada. | Sem aceite integral | Pendente |
| TEN-019P0 | Jobs transportam tenant e referência de recurso; worker recarrega contexto e permissões operacionais, sem confiar em IDs soltos. | Sem aceite integral | Pendente |
| TEN-020P0 | Índices de pesquisa isolados por loja; nenhuma chave global chega ao navegador. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Pesquisa/Pesquisa.php; testes/FluxosTest.php com Meilisearch real e índices A/B separados. Resultado: aprovado. |
| TEN-021P0 | Objetos em disco/storage separados por tenant e visibilidade; nome do arquivo não substitui autorização. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Catalogo/Midias.php e Aparencia/IdentidadeVisual.php; testes/MidiasTest.php e IdentidadeVisualTest.php, arquivo de A negado em B. Resultado: aprovado. |
| TEN-022P0 | Etiquetas, documentos fiscais e exportações são privados, com download autenticado ou URL assinada curta após autorização. | Sem aceite integral | Pendente |
| TEN-023P0 | Impedir traversal, acesso por caminho arbitrário e leitura de arquivos de outra loja. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Catalogo/Midias.php e Aparencia/IdentidadeVisual.php; testes/MidiasTest.php e IdentidadeVisualTest.php, arquivo de A negado em B. Resultado: aprovado. |
| TEN-024Escopo obrigatório | Logs contêm UUID de tenant quando aplicável, sem misturar conteúdo de clientes na interface de diagnóstico. | Sem aceite integral | Pendente |
| TEN-025Escopo obrigatório | Resetar contexto de tenant após cada job, inclusive quando falhar; testar worker A → B → A. | Sem aceite integral | Pendente |
| TEN-026Escopo obrigatório | Reindexação, importação, relatórios, backup lógico de tenant e restauração seletiva respeitam a mesma fronteira. | Sem aceite integral | Pendente |
| TEN-027Escopo obrigatório | Limitar consumo por loja para que importação ou busca abusiva não esgote todos os workers. | Sem aceite integral | Pendente |
| AUTH-001P0 | Login com e-mail e senha; senha com password_hash Argon2id e parâmetros calibrados no servidor. | Sem aceite integral | Pendente |
| AUTH-002P0 | Recuperação de senha por token aleatório, hash no banco, validade curta, uso único e resposta sem enumerar contas. | Parcial | Parcial: Recuperação de senha de lojista validada em IdentidadesTest; recuperação de plataforma/MFA ainda pendente. |
| AUTH-003P0 | Regenerar sessão após login, MFA e elevação de privilégio. Invalidar sessões após recuperação de conta ou revogação. | Sem aceite integral | Pendente |
| AUTH-004P0 | Cookie administrativo host-only, Secure, HttpOnly, SameSite=Lax, sem Domain abrangendo subdomínios. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Sessao.php; testes/e2e.py, cookies administrativos host-only Secure/HttpOnly/Lax. Resultado: aprovado. |
| AUTH-005P0 | Usar cookie com prefixo __Host- e Path=/; separar nome, armazenamento e audience de sessões administrativas, superadmin e compradores. | Sem aceite integral | Pendente |
| AUTH-006P0 | CSRF em toda ação autenticada mutável, inclusive logout e operações AJAX. Não tratar SameSite como proteção suficiente. | Sem aceite integral | Pendente |
| AUTH-007P0 | Limites de tentativa por identidade e IP, atraso progressivo e mensagens neutras. | Sem aceite integral | Pendente |
| AUTH-008Escopo obrigatório | MFA TOTP disponível ao proprietário e equipe; obrigatório ao superadmin. Recuperação com códigos de uso único armazenados em hash. | Parcial | Parcial: Superadmin TOTP + e-mail e emissão CLI existem; consumo dos códigos de recuperação e TOTP opcional de equipe pendentes. |
| AUTH-009Escopo obrigatório | Segredo TOTP criptografado; passos de cadastro, confirmação e revogação auditados. | Sem aceite integral | Pendente |
| AUTH-010Escopo obrigatório | Reautenticação recente para alterar responsável, pagamento, domínios, equipe, MFA e credenciais de integração. | Sem aceite integral | Pendente |
| AUTH-011Escopo obrigatório | Sessão administrativa inicial: 30 minutos ociosa e 12 horas absolutas, configurável. Superadmin: 15 minutos ociosa e 4 horas absolutas. | Parcial | Parcial: Prazos iniciais aplicados em Sessao.php; configuração e teste de expiração completos pendentes. |
| AUTH-012Escopo obrigatório | Listar sessões/dispositivos e permitir encerrar outras sessões. | Sem aceite integral | Pendente |
| AUTH-013Escopo obrigatório | Redirecionamento após login aceita apenas caminhos locais permitidos; nunca URL externa arbitrária. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php, Modulos/Identidades/Autenticacao.php e Nucleo/Resposta.php; redirecionamentos internos fixos, testes/e2e.py. Resultado: aprovado. |
| RBAC-001P0 | Permissões por ação, como produtos.editar, pedidos.ler, clientes.exportar, integracoes.alterar e aparencia.publicar. | Sem aceite integral | Pendente |
| RBAC-002P0 | Negar por padrão e validar no backend; esconder botão é apenas experiência de interface. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Equipe.php, Autenticacao.php e migração 006; testes/IdentidadesTest.php, perfil, convite, revogação e proteção do proprietário. Resultado: aprovado. |
| RBAC-003Escopo obrigatório | Convite por e-mail, tenant fixo, perfil definido, expiração e aceite por identidade verificada. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Equipe.php, Autenticacao.php e migração 006; testes/IdentidadesTest.php, perfil, convite, revogação e proteção do proprietário. Resultado: aprovado. |
| RBAC-004Escopo obrigatório | Um usuário pode ter vários vínculos; seletor mostra somente lojas autorizadas. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Equipe.php, Autenticacao.php e migração 006; testes/IdentidadesTest.php, perfil, convite, revogação e proteção do proprietário. Resultado: aprovado. |
| RBAC-005Escopo obrigatório | Revogar vínculo invalida o acesso imediatamente, inclusive sessão já aberta, API e exportações futuras. | Parcial | Parcial: Revogação de vínculo/sessão/API validada; exportações futuras e gestão completa ainda pendentes. |
| RBAC-006Escopo obrigatório | Impedir exclusão/remoção do último proprietário sem transferência validada. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Equipe.php, Autenticacao.php e migração 006; testes/IdentidadesTest.php, perfil, convite, revogação e proteção do proprietário. Resultado: aprovado. |
| RBAC-007Escopo obrigatório | Transferência de propriedade exige confirmação do novo responsável, reautenticação e trilha completa. | Sem aceite integral | Pendente |
| RBAC-008Escopo obrigatório | Mudança de perfil não concede privilégios de plataforma. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Identidades/Equipe.php, Autenticacao.php e migração 006; testes/IdentidadesTest.php, perfil, convite, revogação e proteção do proprietário. Resultado: aprovado. |
| RBAC-009Escopo obrigatório | Permissões de local operacional limitam consultas e ações quando o vínculo for restrito a unidades. | Sem aceite integral | Pendente |
| LIFE-001P0 | Centralizar o cálculo da capacidade de comprar e reutilizá-lo na UI, API, checkout e worker. | Sem aceite integral | Pendente |
| LIFE-002P0 | Revalidar capacidade de vender antes de criar cobrança, e não apenas na abertura da página. | Sem aceite integral | Pendente |
| LIFE-003P0 | Suspensão bloqueia novas compras e novas cobranças; invalida permissões mutáveis administrativas conforme política. | Sem aceite integral | Pendente |
| LIFE-004P0 | Continuar recebendo e verificando eventos de pagamentos já iniciados. Nunca descartar pagamento porque a loja foi suspensa. | Sem aceite integral | Pendente |
| LIFE-005P0 | Preservar pedidos, rastreio e atendimento de compras existentes conforme política; registrar exceção operacional se houver bloqueio de segurança. | Sem aceite integral | Pendente |
| LIFE-006Escopo obrigatório | Oferecer suspensão comercial com painel limitado para resolver pedidos; bloqueio de segurança pode revogar sessões e depender de atendimento central. | Sem aceite integral | Pendente |
| LIFE-007Escopo obrigatório | Toda suspensão registra motivo, categoria, autor, data, alcance e condições para reativação. | Sem aceite integral | Pendente |
| LIFE-008Escopo obrigatório | Propagar alteração imediatamente aos caminhos de escrita; cache não pode manter autorização antiga. | Sem aceite integral | Pendente |
| LIFE-009Escopo obrigatório | Reativação mantém histórico e revalida domínios, plano e integrações, sem republicar automaticamente uma loja que já estava pausada. | Sem aceite integral | Pendente |
| LIFE-010Escopo obrigatório | Pausa solicitada pelo lojista impede novas vendas, mas permite administração e tratamento dos pedidos anteriores. | Sem aceite integral | Pendente |
| LIFE-011Escopo obrigatório | Encerramento tem confirmação reforçada, exportação, retenção e processo separado de eliminação. Não apagar em cascata como efeito da suspensão. | Sem aceite integral | Pendente |
| LIFE-012Escopo obrigatório | Manter histórico de transições e testar chamadas concorrentes de suspensão e finalização de checkout. | Sem aceite integral | Pendente |
| SUPER-001Escopo obrigatório | Dashboard com lojas por estado, novas contas, operações pendentes, filas, falhas e volume agregado de pedidos. | Sem aceite integral | Pendente |
| SUPER-002Escopo obrigatório | Lista paginada de tenants com busca por nome, slug, documento autorizado, responsável, plano e estado. | Sem aceite integral | Pendente |
| SUPER-003Escopo obrigatório | Detalhe de tenant com cadastro, vínculos, domínios, consumo, integrações e histórico administrativo. | Sem aceite integral | Pendente |
| SUPER-004Escopo obrigatório | Criar tenant assistido, reenviar convite e acompanhar onboarding sem conhecer a senha do proprietário. | Sem aceite integral | Pendente |
| SUPER-005Escopo obrigatório | Ativar, suspender, reativar e iniciar encerramento, respeitando as regras de ciclo de vida. | Sem aceite integral | Pendente |
| SUPER-006Escopo obrigatório | Gerenciar planos, quotas, período de avaliação e recursos habilitados por loja. | Sem aceite integral | Pendente |
| SUPER-007Escopo obrigatório | Gerenciar aplicativos globais OAuth, disponibilidade dos provedores e avisos de manutenção. | Sem aceite integral | Pendente |
| SUPER-008Escopo obrigatório | Visualizar saúde das integrações sem exibir segredos salvos. | Sem aceite integral | Pendente |
| SUPER-009Escopo obrigatório | Consultar falhas de jobs, reprocessar itens permitidos e acompanhar fila de mensagens mortas. | Sem aceite integral | Pendente |
| SUPER-010Escopo obrigatório | Gerenciar equipe da plataforma com papéis separados: superadmin, suporte, operação técnica e financeiro SaaS. | Sem aceite integral | Pendente |
| SUPER-011Escopo obrigatório | Registrar notas internas e protocolos de suporte, sem expô-los ao comprador. | Sem aceite integral | Pendente |
| SUPER-012Escopo obrigatório | Disponibilizar histórico de auditoria com filtros de ator, tenant, ação e período. | Sem aceite integral | Pendente |
| SUPER-013Escopo obrigatório | Exibir relatórios de uso e saúde sem misturar faturamento dos lojistas com receita da plataforma. | Sem aceite integral | Pendente |
| SUPER-014Escopo obrigatório | Dashboard de backup: última execução, cópia externa, integridade e último ensaio de restauração. | Sem aceite integral | Pendente |
| SUPER-015P0 | Não fornecer botão que revele senha, token completo ou credencial de integração de lojistas. | Sem aceite integral | Pendente |
| SUPER-016P0 | Acesso assistido a uma loja exige permissão específica, MFA recente, motivo, tenant explícito e duração máxima de 30 minutos. | Sem aceite integral | Pendente |
| SUPER-017P0 | Sessão assistida mostra faixa visível e atribui auditoria ao operador real, nunca ao proprietário. | Sem aceite integral | Pendente |
| SUPER-018Escopo obrigatório | Suporte começa somente leitura. Operações críticas exigem autorização adicional e não podem trocar titularidade/conta de recebimento silenciosamente. | Sem aceite integral | Pendente |
| SUPER-019Escopo obrigatório | Quotas iniciais: produtos, variantes, armazenamento, usuários, domínios, locais e consumo de API; valores definidos no painel, sem preços inventados. | Sem aceite integral | Pendente |
| SUPER-020Escopo obrigatório | Exceder quota bloqueia criação adicional; não apaga conteúdo nem impede cumprir pedidos existentes. | Sem aceite integral | Pendente |
| SUPER-021Escopo obrigatório | Avaliação, vencimento, tolerância e suspensão são políticas configuráveis e auditáveis. | Sem aceite integral | Pendente |
| SUPER-022Escopo obrigatório | Implementar cobrança SaaS inicialmente com lançamentos e confirmação manual rastreável; não confundir com pagamento dos pedidos das lojas. | Sem aceite integral | Pendente |
| SUPER-023Escopo obrigatório | Não simular recorrência automática da InfinitePay. Cobrança recorrente da plataforma é evolução separada até existir contrato técnico definido. | Sem aceite integral | Pendente |
| SUPER-024Escopo obrigatório | Exportações de tenants e dados pessoais exigem permissão, justificativa, escopo, validade e auditoria. | Sem aceite integral | Pendente |
| ONB-001Escopo obrigatório | Cadastro de responsável com nome, e-mail verificado, telefone, senha e nome da loja. | Sem aceite integral | Pendente |
| ONB-002Escopo obrigatório | Escolha de perfil PF/MEI/PJ, sem limitar aparência, catálogo, promoções, API ou relatórios pelo documento. | Sem aceite integral | Pendente |
| ONB-003Escopo obrigatório | PF: CPF e dados pessoais necessários; não exigir CNPJ, razão social, inscrição estadual, certificado digital ou ERP. | Sem aceite integral | Pendente |
| ONB-004Escopo obrigatório | MEI/PJ: CNPJ, responsável, razão social e dados empresariais aplicáveis; exigir campos adicionais apenas no fluxo que deles depende. | Sem aceite integral | Pendente |
| ONB-005Escopo obrigatório | Validar dígitos e formato de CPF/CNPJ; informar que isso não comprova titularidade nem regularidade cadastral. | Sem aceite integral | Pendente |
| ONB-006Escopo obrigatório | Coletar endereço do responsável/vendedor e origem de entrega antes dos fluxos que os exigem. | Sem aceite integral | Pendente |
| ONB-007Escopo obrigatório | Assistente com etapas salvas: identidade, aparência, catálogo, recebimento, entrega, políticas e publicação. | Sem aceite integral | Pendente |
| ONB-008Escopo obrigatório | Permitir cadastrar e personalizar com integrações pendentes; mostrar exatamente o que impede receber pedidos. | Sem aceite integral | Pendente |
| ONB-009Escopo obrigatório | Configuração fiscal empresarial não é etapa genérica obrigatória para PF montar e publicar seu catálogo. | Sem aceite integral | Pendente |
| ONB-010Escopo obrigatório | Registrar aceite expresso dos termos do vendedor, versão, data, conta e evidência técnica minimizada. | Sem aceite integral | Pendente |
| ONB-011Escopo obrigatório | Explicar responsabilidade pelos produtos, tributos, documentação, entrega e atendimento, sem afirmar que o termo elimina as obrigações da plataforma. | Sem aceite integral | Pendente |
| ONB-012Escopo obrigatório | Diferenciar catálogo publicado de operação habilitada; aplicar pendência documental somente à operação concreta que dela depende. | Sem aceite integral | Pendente |
| ONB-013Escopo obrigatório | Migrar PF → MEI/PJ sem perder produtos, URLs, clientes e pedidos; criar nova vigência de estabelecimento e revisar conexões de recebimento/ERP/frete. | Sem aceite integral | Pendente |
| ONB-014Escopo obrigatório | Não reescrever o CPF/CNPJ vendedor nos pedidos antigos quando o perfil mudar. | Sem aceite integral | Pendente |
| ONB-015Escopo obrigatório | Tela “Preparar minha loja” com progresso real, ação de correção e diagnóstico acessível. | Sem aceite integral | Pendente |
| PAINEL-001Escopo obrigatório | Todas as listas têm paginação, busca, filtros, estado vazio e feedback de falha. | Sem aceite integral | Pendente |
| PAINEL-002Escopo obrigatório | Formulários preservam dados em erro, mostram validação por campo e impedem clique duplicado sem depender somente do frontend. | Sem aceite integral | Pendente |
| PAINEL-003Escopo obrigatório | Mostrar data/hora, responsável, origem e resultado de alterações importantes. | Sem aceite integral | Pendente |
| PAINEL-004Escopo obrigatório | Dashboard usa pedidos e pagamentos reais; não apresenta números decorativos. | Sem aceite integral | Pendente |
| PAINEL-005Escopo obrigatório | Diferenciar venda aprovada, valor capturado, taxa, estorno e líquido conhecido; não inventar informação financeira indisponível. | Sem aceite integral | Pendente |
| PAINEL-006Escopo obrigatório | Operações em lote têm escopo visível, autorização, progresso e relatório de falhas por registro. | Sem aceite integral | Pendente |
| PAINEL-007Escopo obrigatório | Notificações administrativas apontam para a loja correta e não revelam dados em alertas globais de outra loja. | Sem aceite integral | Pendente |
| CAT-001Escopo obrigatório | Produto com nome, slug, descrição curta/completa, situação, marca, categorias, atributos e dados SEO. | Sem aceite integral | Pendente |
| CAT-002Escopo obrigatório | Produto simples representado internamente por uma variante única; produto variável por combinações explícitas. | Sem aceite integral | Pendente |
| CAT-003Escopo obrigatório | Variante com SKU, código de barras opcional, combinação de atributos, preço, custo restrito, peso, dimensões e controle de estoque. | Sem aceite integral | Pendente |
| CAT-004Escopo obrigatório | SKU único por tenant, não global; impedir combinações duplicadas e geração acidental de milhões de variantes. | Sem aceite integral | Pendente |
| CAT-005Escopo obrigatório | Atributos de apresentação e de filtro separados de atributos que geram variantes. | Sem aceite integral | Pendente |
| CAT-006Escopo obrigatório | Categorias hierárquicas, sem ciclos, com ordenação, imagem, SEO e limite razoável de profundidade. | Sem aceite integral | Pendente |
| CAT-007Escopo obrigatório | Múltiplas categorias por produto; categoria principal opcional para navegação e SEO. | Sem aceite integral | Pendente |
| CAT-008Escopo obrigatório | Estados rascunho, ativo, inativo e arquivado; retirar da venda sem eliminar referências dos pedidos. | Sem aceite integral | Pendente |
| CAT-009Escopo obrigatório | Somente variantes ativas e vendáveis podem entrar no checkout. | Sem aceite integral | Pendente |
| CAT-010Escopo obrigatório | Página do produto exibe preço real, variação, disponibilidade, descrição, galeria e cálculo de entrega quando aplicável. | Sem aceite integral | Pendente |
| CAT-011Escopo obrigatório | Desativar produto ou variante não altera os snapshots dos pedidos existentes. | Sem aceite integral | Pendente |
| CAT-012Escopo obrigatório | Duplicação de produto copia dados autorizados e gera novos IDs/SKUs; não duplica histórico de estoque. | Sem aceite integral | Pendente |
| CAT-013Escopo obrigatório | Campo de produto em destaque, coleção manual e coleção por filtros permitidos. | Sem aceite integral | Pendente |
| CAT-014Escopo obrigatório | Restrições de venda e aviso de indisponibilidade configuráveis por produto, sem permitir burlar regras do provedor. | Sem aceite integral | Pendente |
| PRECO-001P0 | Moeda inicial BRL; dinheiro em inteiros de centavos, nunca float de ponto flutuante. | Sem aceite integral | Pendente |
| PRECO-002P0 | Quantidade inicial de produtos físicos é inteira positiva; fracionados ficam fora do primeiro contrato de venda. | Sem aceite integral | Pendente |
| PRECO-003P0 | Preços e descontos enviados pelo navegador são propostas não confiáveis; recalcular tudo no servidor. | Sem aceite integral | Pendente |
| PRECO-004Escopo obrigatório | Peso em gramas e dimensões em milímetros internamente; converter explicitamente ao contrato de cada transportadora. | Sem aceite integral | Pendente |
| PRECO-005Escopo obrigatório | Definir arredondamento comercial: cálculos racionais/decimais exatos e arredondamento de centavos por regra documentada. | Sem aceite integral | Pendente |
| PRECO-006Escopo obrigatório | Ratear descontos de pedido por item com distribuição do resíduo, garantindo soma exata e devolução consistente. | Sem aceite integral | Pendente |
| PRECO-007Escopo obrigatório | Impedir valor negativo, quantidade zero, overflow, total acima dos limites do provedor e desconto maior que a base elegível. | Sem aceite integral | Pendente |
| PRECO-008Escopo obrigatório | Guardar preço de tabela, desconto aplicado, preço efetivo, frete, desconto de frete e total no snapshot. | Sem aceite integral | Pendente |
| PRECO-009Escopo obrigatório | Desconto por método de pagamento tem regra única de origem; impedir desconto Pix duplicado na loja e no gateway. | Sem aceite integral | Pendente |
| PRECO-010Escopo obrigatório | Apresentar condições de parcelamento apenas quando suportadas e conhecidas; não calcular taxa fictícia como se fosse contrato da InfinitePay. | Sem aceite integral | Pendente |
| MIDIA-001Escopo obrigatório | Upload de imagens com MIME real, limite de bytes/pixels, extensão permitida e nome gerado pelo servidor. | Sem aceite integral | Pendente |
| MIDIA-002Escopo obrigatório | Reprocessar imagens para formatos seguros, remover metadados desnecessários e produzir tamanhos responsivos. | Sem aceite integral | Pendente |
| MIDIA-003Escopo obrigatório | Texto alternativo, capa, ordenação e vínculo de imagens a variantes. | Sem aceite integral | Pendente |
| MIDIA-004Escopo obrigatório | Vídeo inicialmente por URL de provedores permitidos; rejeitar HTML/iframe arbitrário. Upload de vídeo só se houver pipeline e quotas próprios. | Sem aceite integral | Pendente |
| MIDIA-005P0 | Não aceitar PHP, HTML executável ou SVG arbitrário como mídia pública. SVG somente com sanitização específica e política documentada. | Sem aceite integral | Pendente |
| MIDIA-006P0 | Arquivos de usuário não são executáveis nem interpretados pelo servidor PHP. | Sem aceite integral | Pendente |
| MIDIA-007Escopo obrigatório | Escrita atômica, checksum, estado de processamento e limpeza de órfãos com período de segurança. | Sem aceite integral | Pendente |
| MIDIA-008Escopo obrigatório | Exclusão lógica quando houver referência ativa; impedir apagar arquivo utilizado por versão publicada sem aviso e tratamento. | Sem aceite integral | Pendente |
| MIDIA-009Escopo obrigatório | Importação remota de imagem, se implementada, bloqueia SSRF, endereços internos, redirects perigosos e arquivos acima do limite. | Sem aceite integral | Pendente |
| MIDIA-010Escopo obrigatório | URLs públicas revelam somente mídia pública. Etiquetas e documentos não usam a mesma política de exposição. | Sem aceite integral | Pendente |
| IMP-001Escopo obrigatório | CSV UTF-8 com modelo, separador documentado e identificação clara dos campos obrigatórios. | Sem aceite integral | Pendente |
| IMP-002Escopo obrigatório | Pré-validação e simulação mostram inclusões, alterações e erros antes de confirmar a importação. | Sem aceite integral | Pendente |
| IMP-003Escopo obrigatório | Atualização por SKU ou ID externo mapeado; nunca sobrescrever o produto de outro tenant. | Sem aceite integral | Pendente |
| IMP-004Escopo obrigatório | Processar em lotes na fila, com limite de registros e tamanho, progresso, retomada e relatório por linha. | Sem aceite integral | Pendente |
| IMP-005Escopo obrigatório | Importação repetida não duplica SKUs, categorias ou vínculos já mapeados. | Sem aceite integral | Pendente |
| IMP-006Escopo obrigatório | Respeitar campos cuja origem de verdade está no Omie; mostrar conflito, sem sobrescrever silenciosamente. | Sem aceite integral | Pendente |
| IMP-007Escopo obrigatório | Exportação assíncrona e privada, com expiração, tenant fixo e permissão específica. | Sem aceite integral | Pendente |
| IMP-008Escopo obrigatório | Neutralizar injeção de fórmulas em CSV quando células começarem com caracteres interpretáveis por planilhas. | Sem aceite integral | Pendente |
| EST-001Escopo obrigatório | Local com nome, endereço, CEP, situação, contato, horário e modalidades de entrega/retirada. | Sem aceite integral | Pendente |
| EST-002Escopo obrigatório | Saldo por (tenant, variante, local) com físico, reservado e disponível calculado. | Sem aceite integral | Pendente |
| EST-003P0 | Invariante: disponivel = fisico - reservado; reservado nunca negativo; não permitir venda acima do disponível. | Sem aceite integral | Pendente |
| EST-004P0 | Criar reservas somente na finalização validada do checkout, antes da cobrança; não reservar ao apenas adicionar ao carrinho ou pedir OTP. | Sem aceite integral | Pendente |
| EST-005P0 | Reserva e pedido pendente criados na mesma transação, com lock/atualização condicional e validação da quantidade afetada. | Sem aceite integral | Pendente |
| EST-006P0 | Bloquear variantes/componentes em ordem determinística para reduzir deadlocks e repetir transações com segurança quando necessário. | Sem aceite integral | Pendente |
| EST-007Escopo obrigatório | Reserva tem pedido, variante, local, quantidade, estado, validade e chave de idempotência. | Sem aceite integral | Pendente |
| EST-008P0 | Confirmar pagamento consome a reserva exatamente uma vez: reduz físico e reservado, registra movimento e mantém saldo consistente. | Sem aceite integral | Pendente |
| EST-009P0 | Expiração ou cancelamento libera reserva uma vez. Callback tardio entra no fluxo de exceção, sem recriar estoque fictício. | Sem aceite integral | Pendente |
| EST-010Escopo obrigatório | Ajuste manual exige motivo, responsável, data e movimento imutável; não editar saldo sem histórico. | Sem aceite integral | Pendente |
| EST-011Escopo obrigatório | Transferência entre locais registra saída e entrada correlacionadas, com estados claros se houver trânsito. | Sem aceite integral | Pendente |
| EST-012Escopo obrigatório | Definir limites de alerta por variante/local e painel de estoque baixo. | Sem aceite integral | Pendente |
| EST-013Escopo obrigatório | Combos reservam os componentes no mesmo local, de forma atômica; rejeitar ciclos e kits contendo a si próprios. | Sem aceite integral | Pendente |
| EST-014Escopo obrigatório | Cancelamento e devolução só repõem estoque quando a regra e a condição física permitirem; reembolso financeiro não implica reposição automática. | Sem aceite integral | Pendente |
| EST-015Escopo obrigatório | Reconciliação compara saldos com movimentos e reservas; divergências geram alerta, não correção destrutiva silenciosa. | Sem aceite integral | Pendente |
| EST-016Escopo obrigatório | Mudança de endereço/origem exige recotação antes de pagamento; pedido pago preserva a origem prometida ou registra tratamento assistido. | Sem aceite integral | Pendente |
| EST-017P0 | Configurar prazo de reserva e prazo da cobrança de modo compatível; validade local não garante que o provedor rejeitará pagamentos tardios. | Sem aceite integral | Pendente |
| EST-018P0 | Se o provedor não confirmar expiração/cancelamento de link, considerar o risco de pagamento tardio e tratá-lo explicitamente. | Sem aceite integral | Pendente |
| EST-019P0 | Pagamento confirmado após liberar reserva tenta nova alocação transacional; se não houver estoque, registrar “pago com pendência de estoque” e acionar atendimento/reembolso. | Sem aceite integral | Pendente |
| EST-020P0 | Nunca marcar pedido como não pago após confirmação válida apenas porque o contador local expirou. | Sem aceite integral | Pendente |
| EST-021Escopo obrigatório | Agendador de expiração usa lotes, locks e idempotência; duas instâncias não liberam a mesma reserva duas vezes. | Sem aceite integral | Pendente |
| EST-022Escopo obrigatório | Sincronização de saldo externo não pode apagar reservas locais. Definir se o saldo do ERP já considera os pedidos exportados, evitando subtrair a mesma venda duas vezes. | Sem aceite integral | Pendente |
| VIS-001Escopo obrigatório | Alterar logo, favicon, cores, tipografia permitida, espaçamento, largura e formato de cards. | Sem aceite integral | Pendente |
| VIS-002Escopo obrigatório | Adicionar, ordenar, ocultar, duplicar e remover instâncias de seções disponíveis. | Sem aceite integral | Pendente |
| VIS-003Escopo obrigatório | Trocar modelo sem perder configuração compatível; mostrar o que exige remapeamento. | Sem aceite integral | Pendente |
| VIS-004Escopo obrigatório | Editar textos, imagens, links, CTAs e seleção de produtos/categorias por formulários estruturados. | Sem aceite integral | Pendente |
| VIS-005Escopo obrigatório | Seções de produtos/ofertas/combos mostram dados reais e disponibilidade atual, não conteúdo fixo de demonstração. | Sem aceite integral | Pendente |
| VIS-006Escopo obrigatório | Menus com links internos/externos validados, hierarquia limitada e comportamento móvel acessível. | Sem aceite integral | Pendente |
| VIS-007Escopo obrigatório | Páginas institucionais e políticas com editor de conteúdo sanitizado e suporte a títulos, listas e links. | Sem aceite integral | Pendente |
| VIS-008Escopo obrigatório | Templates consistentes para categoria, produto, busca, carrinho, checkout, acompanhamento e conta. | Sem aceite integral | Pendente |
| VIS-009Escopo obrigatório | Prévia desktop/tablet/mobile, com indicação clara de rascunho. | Sem aceite integral | Pendente |
| VIS-010Escopo obrigatório | Salvar rascunho sem alterar versão pública; publicação atômica de uma revisão validada. | Sem aceite integral | Pendente |
| VIS-011Escopo obrigatório | Histórico de revisões com autor, data, título e ação de restaurar uma revisão anterior. | Sem aceite integral | Pendente |
| VIS-012Escopo obrigatório | Validar referências de arquivos, links e produtos antes de publicar; permitir estado vazio seguro quando produto sair de linha. | Sem aceite integral | Pendente |
| VIS-013Escopo obrigatório | Controle de concorrência por número de versão/ETag: avisar conflito se duas pessoas editarem o mesmo rascunho. | Sem aceite integral | Pendente |
| VIS-014Escopo obrigatório | Invalidar cache e atualizar sitemap conforme a publicação, sem vazar rascunho. | Sem aceite integral | Pendente |
| VIS-015Escopo obrigatório | Limitar quantidade de seções, imagens e tamanho do JSON; versionar o esquema da configuração. | Sem aceite integral | Pendente |
| VIS-016Escopo obrigatório | Sem HTML inseguro, scripts de terceiros arbitrários, CSS livre que afete o painel ou widgets capazes de capturar pagamento. | Sem aceite integral | Pendente |
| VIS-017Escopo obrigatório | Mesma capacidade de personalização para PF, MEI e PJ, sob o mesmo plano. | Sem aceite integral | Pendente |
| VIS-018Escopo obrigatório | Validar os 50 modelos em celular e desktop, com combinações de conteúdo curto, longo, vazio e imagem ausente. | Sem aceite integral | Pendente |
| UX-001Escopo obrigatório | Layout funcional em 360, 768 e 1440 pixels; nenhuma informação essencial depende de hover. | Sem aceite integral | Pendente |
| UX-002Escopo obrigatório | Navegação por teclado, foco visível, rótulos, mensagens associadas aos campos e semântica de headings. | Sem aceite integral | Pendente |
| UX-003Escopo obrigatório | Contraste adequado, possibilidade de reduzir movimento e controles para carrosséis. | Sem aceite integral | Pendente |
| UX-004Escopo obrigatório | Erros compreensíveis em PT-BR, sem stacktrace nem mensagem bruta de API como única orientação. | Sem aceite integral | Pendente |
| UX-005Escopo obrigatório | Paginação e busca preservam filtros; carregamento mostra estado e evita layout instável desnecessário. | Sem aceite integral | Pendente |
| UX-006Escopo obrigatório | Datas em formato local e moeda em BRL; instantes persistidos em UTC e convertidos para fuso configurado. | Sem aceite integral | Pendente |
| SEO-001Escopo obrigatório | Títulos, descrições, canonical, Open Graph, sitemap e robots por loja. | Sem aceite integral | Pendente |
| SEO-002Escopo obrigatório | Dados estruturados de produto e oferta correspondem a preço/disponibilidade reais. | Sem aceite integral | Pendente |
| SEO-003Escopo obrigatório | Painel, conta, checkout, prévia, resultados privados e tokens fora de indexação. | Sem aceite integral | Pendente |
| SEO-004Escopo obrigatório | Slug de produto alterado pode gerar redirecionamento interno seguro, sem capturar rotas de outro tenant. | Sem aceite integral | Pendente |
| SEO-005Escopo obrigatório | Evitar conteúdo duplicado entre domínio próprio, aliases e endereço temporário. | Sem aceite integral | Pendente |
| PROMO-001Escopo obrigatório | Promoção com nome, tipo, situação, vigência, elegibilidade, prioridade e política de acumulação. | Sem aceite integral | Pendente |
| PROMO-002Escopo obrigatório | Percentual, valor fixo e frete grátis, com base de cálculo explícita e limites. | Sem aceite integral | Pendente |
| PROMO-003Escopo obrigatório | Segmentação por produto, variante, categoria, valor mínimo e cliente verificado, quando aplicável. | Sem aceite integral | Pendente |
| PROMO-004Escopo obrigatório | Cupom com código normalizado por tenant, quantidade global e limite por cliente/e-mail verificado. | Sem aceite integral | Pendente |
| PROMO-005P0 | Resgates concorrentes respeitam o limite por transação; não confiar em contador da tela. | Sem aceite integral | Pendente |
| PROMO-006Escopo obrigatório | Reservar uso ao criar pedido e consolidar ao aprovar pagamento; liberar reservas de cupom quando aplicável. | Sem aceite integral | Pendente |
| PROMO-007Escopo obrigatório | Definir explicitamente: preço promocional → benefício de combo → cupom → desconto de método, respeitando exclusões configuradas. | Sem aceite integral | Pendente |
| PROMO-008Escopo obrigatório | Regras não acumuláveis escolhem resultado determinístico, mostram benefício e preservam margem mínima se configurada. | Sem aceite integral | Pendente |
| PROMO-009Escopo obrigatório | Combo contém componentes e quantidades; preço fixo ou desconto definido, com rateio persistido por componente. | Sem aceite integral | Pendente |
| PROMO-010Escopo obrigatório | Checkout resolve estoque, peso, dimensões e devolução dos componentes do combo. | Sem aceite integral | Pendente |
| PROMO-011Escopo obrigatório | Alterar ou encerrar uma campanha não reprecifica pedido já criado com snapshot válido. | Sem aceite integral | Pendente |
| PROMO-012Escopo obrigatório | Exibir erro de cupom sem revelar dados de outro cliente; limitar tentativas de descoberta de códigos. | Sem aceite integral | Pendente |
| PROMO-013Escopo obrigatório | Promoção de “primeira compra” funciona para convidado pelo identificador verificado, sem exigir senha. | Sem aceite integral | Pendente |
| PROMO-014Escopo obrigatório | Datas de campanha armazenadas com timezone explícito e testadas nos limites de início/fim. | Sem aceite integral | Pendente |
| CLI-001Escopo obrigatório | Cadastro comercial por loja: nome, e-mail normalizado, telefone quando necessário, documentos condicionais, endereços e observações restritas. | Sem aceite integral | Pendente |
| CLI-002Escopo obrigatório | Lista diferencia “cliente com conta” e “comprador convidado”; ambos aparecem nos relatórios e no histórico comercial autorizado. | Sem aceite integral | Pendente |
| CLI-003Escopo obrigatório | Busca e filtros por nome, e-mail, período, número de pedidos, situação e consentimento de marketing. | Sem aceite integral | Pendente |
| CLI-004Escopo obrigatório | Detalhe mostra somente pedidos, endereços e eventos daquela loja, com dados necessários à função do operador. | Sem aceite integral | Pendente |
| CLI-005Escopo obrigatório | Conta opcional com e-mail verificado, senha, recuperação e sessões próprias; nenhum login administrativo é compartilhado. | Sem aceite integral | Pendente |
| CLI-006Escopo obrigatório | Convite para criar conta após compra é opcional; não gerar senha nem ativar conta sem manifestação do comprador. | Sem aceite integral | Pendente |
| CLI-007P0 | Vincular compras anteriores somente após verificação recente do mesmo e-mail e dentro do mesmo tenant. | Sem aceite integral | Pendente |
| CLI-008P0 | Alterar e-mail exige verificar o novo endereço; não transferir acesso a pedidos antigos apenas editando um campo. | Sem aceite integral | Pendente |
| CLI-009Escopo obrigatório | Mudança assistida de contato de pedido exige permissão, justificativa e procedimento de comprovação; registrar antes/depois minimizados. | Sem aceite integral | Pendente |
| CLI-010Escopo obrigatório | Não aplicar regras específicas de provedores, como remover pontos ou +alias, na normalização de e-mail. | Sem aceite integral | Pendente |
| CLI-011Escopo obrigatório | Normalização documentada preserva o valor informado e usa representação consistente para comparação; tratar colisão sem fusão silenciosa. | Sem aceite integral | Pendente |
| CLI-012Escopo obrigatório | Deduplicação de clientes é operação explícita e auditada, preservando pedidos e documentos históricos. | Sem aceite integral | Pendente |
| CLI-013Escopo obrigatório | Consentimento de marketing opcional, desmarcado por padrão, com versão, finalidade, data e mecanismo de revogação. | Sem aceite integral | Pendente |
| CLI-014Escopo obrigatório | Não interpretar e-mail transacional ou compra como autorização automática para campanha publicitária. | Sem aceite integral | Pendente |
| CLI-015Escopo obrigatório | Atendimento e exportação seguem permissões distintas; custo, segredo e documentos completos não aparecem por padrão. | Sem aceite integral | Pendente |
| CLI-016Escopo obrigatório | Solicitações de acesso/correção/eliminação geram protocolo e fluxo de análise de retenção, em vez de exclusão irrestrita de pedidos. | Sem aceite integral | Pendente |
| GUEST-001P0 | Código numérico de 6 dígitos gerado com CSPRNG; validade inicial de 10 minutos e máximo de 5 tentativas por desafio. | Sem aceite integral | Pendente |
| GUEST-002P0 | Não guardar código em texto puro. Usar HMAC com segredo do servidor e contexto do desafio, com comparação segura; um hash simples de seis dígitos não resiste a brute force offline. | Sem aceite integral | Pendente |
| GUEST-003P0 | Desafio inclui tenant, finalidade, e-mail, identificador da sessão, expiração, contador e estado consumido/revogado. | Sem aceite integral | Pendente |
| GUEST-004P0 | Incremento de tentativas e consumo atômicos. Duas confirmações concorrentes não reutilizam o desafio. | Sem aceite integral | Pendente |
| GUEST-005P0 | Novo envio revoga o código anterior ou mantém uma política única claramente testada; adotar revogação do anterior na versão inicial. | Sem aceite integral | Pendente |
| GUEST-006Escopo obrigatório | Reenvio após 60 segundos; limite inicial de 5 envios por e-mail/tenant em 15 minutos e 30 por IP/hora, com proteção agregada contra abuso entre tenants. | Sem aceite integral | Pendente |
| GUEST-007Escopo obrigatório | Responder sem informar se o e-mail já possui conta, pedidos ou vínculo com qualquer loja. | Sem aceite integral | Pendente |
| GUEST-008Escopo obrigatório | Verificação concede escopo de checkout por até 30 minutos; alterar e-mail revoga a verificação. Revalidar regras comerciais ao finalizar. | Sem aceite integral | Pendente |
| GUEST-009Escopo obrigatório | Verificação não libera pedidos de outro e-mail, tenant ou sessão. Troca de host não pode alargar o escopo. | Sem aceite integral | Pendente |
| GUEST-010Escopo obrigatório | Falha no envio permite tentar novamente sem perder carrinho; não prosseguir alegando que um e-mail foi confirmado. | Sem aceite integral | Pendente |
| GUEST-011Escopo obrigatório | Mensagem identifica a loja, explica a ação e avisa que o código não deve ser compartilhado. | Sem aceite integral | Pendente |
| GUEST-012Escopo obrigatório | Nunca registrar OTP, link completo de acesso, cookie ou e-mail integral em telemetria de frontend. | Sem aceite integral | Pendente |
| GUEST-013P0 | Acesso ao pedido usa token aleatório de no mínimo 32 bytes, salvo em hash, uso único e validade inicial de 15 minutos para troca por sessão restrita. | Sem aceite integral | Pendente |
| GUEST-014P0 | Token vinculado ao tenant, pedido e finalidade; número sequencial e e-mail digitado não bastam para consultar pedido. | Sem aceite integral | Pendente |
| GUEST-015P0 | GET do link mostra confirmação; consumir token somente em POST para evitar que scanner de e-mail invalide o acesso automaticamente. | Sem aceite integral | Pendente |
| GUEST-016P0 | Após troca, redirecionar para URL limpa. Remover parâmetros sensíveis dos logs de borda e aplicação, aplicar Referrer-Policy: no-referrer e não carregar rastreadores nessa página. | Sem aceite integral | Pendente |
| GUEST-017Escopo obrigatório | Sessão restrita de acompanhamento com validade inicial de 24 horas; não concede acesso administrativo nem credenciais de pagamento. | Sem aceite integral | Pendente |
| GUEST-018Escopo obrigatório | Página pública “Acompanhar compra” pede e-mail e referência opaca do pedido; resposta sempre neutra. Enviar novo link somente ao contato já registrado. | Sem aceite integral | Pendente |
| GUEST-019Escopo obrigatório | Se oferecer lista de compras por e-mail, exigir nova verificação e limitar ao tenant atual; nunca listar antes de verificar. | Sem aceite integral | Pendente |
| GUEST-020Escopo obrigatório | Mostrar itens, valores, status, prazo, rastreio, documentos autorizados e canal de atendimento; mascarar dados desnecessários. | Sem aceite integral | Pendente |
| GUEST-021Escopo obrigatório | Solicitar troca/devolução pode usar a sessão restrita; alterar destinatário ou dados financeiros exige processo adicional. | Sem aceite integral | Pendente |
| GUEST-022Escopo obrigatório | Links gerados usam domínio canônico validado. Se domínio próprio for desconectado, oferecer canal central seguro de recuperação com contexto explícito da loja. | Sem aceite integral | Pendente |
| GUEST-023Escopo obrigatório | Loja pausada/suspensa não deve tornar o histórico de uma compra legítima indisponível sem uma política específica de segurança. | Sem aceite integral | Pendente |
| GUEST-024Escopo obrigatório | Rate limits e envio de links não devem permitir que um atacante dispare e-mails em massa para uma vítima. | Sem aceite integral | Pendente |
| CHECK-001Escopo obrigatório | Carrinho persistente por tenant e sessão, com prazo de expiração e identificação opaca. | Sem aceite integral | Pendente |
| CHECK-002Escopo obrigatório | Adicionar/remover/alterar quantidades, escolher variantes e apresentar indisponibilidade sem corromper o carrinho. | Sem aceite integral | Pendente |
| CHECK-003Escopo obrigatório | Ao voltar ao carrinho, mostrar mudanças de preço, estoque e promoções. | Sem aceite integral | Pendente |
| CHECK-004Escopo obrigatório | Validar CEP/endereço com edição manual possível; falha de serviço de CEP não exige cadastrar conta. | Sem aceite integral | Pendente |
| CHECK-005Escopo obrigatório | Escolher local elegível, calcular embalagens e cotar a entrega de todos os itens. | Sem aceite integral | Pendente |
| CHECK-006Escopo obrigatório | Cotação identificada e armazenada no servidor com validade, origem, destino, itens, modalidade, preço e prazo. | Sem aceite integral | Pendente |
| CHECK-007P0 | Ignorar preço/frete/discount/tenant enviado pelo navegador como valor final; resolver tudo novamente por IDs autorizados. | Sem aceite integral | Pendente |
| CHECK-008P0 | Chave de idempotência por fechamento com hash da requisição e escopo de tenant/comprador. Mesma chave + conteúdo diferente retorna conflito. | Sem aceite integral | Pendente |
| CHECK-009P0 | Pedido e reservas têm commit antes da chamada externa, sem manter transação/lock aberto durante requisição ao gateway. | Sem aceite integral | Pendente |
| CHECK-010P0 | Criar tentativa durável antes de chamar o provedor; persistir o resultado antes de redirecionar o comprador. | Sem aceite integral | Pendente |
| CHECK-011P0 | Se a resposta do gateway for ambígua, marcar tentativa para reconciliação; não criar nova cobrança indiscriminadamente. | Sem aceite integral | Pendente |
| CHECK-012Escopo obrigatório | Atualização de endereço, frete, carrinho ou método invalida a cotação final e exige novo cálculo antes de pagar. | Sem aceite integral | Pendente |
| CHECK-013Escopo obrigatório | Revisão final clara, condições de entrega/retirada, vendedor e meios de contato. | Sem aceite integral | Pendente |
| CHECK-014Escopo obrigatório | Não coletar PAN/CVV de cartão no servidor Rapido. Pagamento ocorre no domínio do provedor. | Sem aceite integral | Pendente |
| CHECK-015Escopo obrigatório | Volta do navegador mostra “verificando pagamento” quando necessário; nunca aprovar apenas com query string. | Sem aceite integral | Pendente |
| CHECK-016Escopo obrigatório | Se desconectar a Internet após pagar, webhook/verificação posterior ainda atualiza o pedido e envia confirmação. | Sem aceite integral | Pendente |
| PED-001Escopo obrigatório | Pedido com UUID, referência pública não previsível, número comercial por loja, cliente opcional e tipo convidado/conta. | Sem aceite integral | Pendente |
| PED-002Escopo obrigatório | Snapshot imutável de vendedor/estabelecimento, comprador, endereços, itens, SKUs, variações, preços e componentes de combos. | Sem aceite integral | Pendente |
| PED-003Escopo obrigatório | Snapshot de promoção, cupom, frete, prazo prometido, modalidade, origem e regras de arredondamento. | Sem aceite integral | Pendente |
| PED-004Escopo obrigatório | Separar notas internas, mensagens de atendimento e informações visíveis ao comprador. | Sem aceite integral | Pendente |
| PED-005Escopo obrigatório | Registrar eventos de criação, pagamento, separação, expedição, rastreio, entrega, cancelamento e devolução. | Sem aceite integral | Pendente |
| PED-006Escopo obrigatório | Valores de pedido pago não são editáveis livremente; mudanças exigem fluxo de ajuste/devolução documentado. | Sem aceite integral | Pendente |
| PED-007Escopo obrigatório | Filtros por período, estado financeiro, estado logístico, cliente, entrega, SKU e integração. | Sem aceite integral | Pendente |
| PED-008Escopo obrigatório | Ações em lote conferem permissões e pré-condições de cada pedido, com relatório parcial de erros. | Sem aceite integral | Pendente |
| PED-009Escopo obrigatório | Comprovante/resumo de compra disponível ao comprador autorizado, sem substituir documento fiscal. | Sem aceite integral | Pendente |
| STATE-001P0 | Máquina de estados implementada no serviço de domínio; qualquer origem HTTP, webhook, job ou API usa a mesma regra. | Sem aceite integral | Pendente |
| STATE-002P0 | Evento repetido não gera nova baixa, novo e-mail financeiro ou nova exportação ao ERP. | Sem aceite integral | Pendente |
| STATE-003P0 | Evento antigo não regride pagamento confirmado para pendente. | Sem aceite integral | Pendente |
| STATE-004P0 | Pagamento confirmado de pedido cancelado registra recebimento e exceção; não reabre silenciosamente uma entrega já cancelada. | Sem aceite integral | Pendente |
| STATE-005P0 | Segunda cobrança paga para o mesmo pedido registra dinheiro adicional e atendimento de duplicidade; não conta como segunda venda do mesmo estoque. | Sem aceite integral | Pendente |
| STATE-006Escopo obrigatório | Expedição exige pagamento e documentação aplicável, salvo modalidade de pagamento diferente expressamente implementada no futuro. | Sem aceite integral | Pendente |
| STATE-007Escopo obrigatório | Concluir entrega/retirada exige evidência operacional e registra responsável/origem do evento. | Sem aceite integral | Pendente |
| STATE-008Escopo obrigatório | Alterações concorrentes usam versão do registro/lock; duas ações incompatíveis não se sobrepõem silenciosamente. | Sem aceite integral | Pendente |
| PAY-001Escopo obrigatório | Assistente para habilitar checkout na conta do lojista, informar handle/API Key conforme capacidades e escolher preferências suportadas. | Sem aceite integral | Pendente |
| PAY-002P0 | Recebimentos da loja são destinados à conta do respectivo lojista; não utilizar uma chave central da plataforma para todas as vendas. | Sem aceite integral | Pendente |
| PAY-003P0 | Credenciais criptografadas, versão de chave de criptografia, máscara no painel e acesso restrito ao adaptador. | Sem aceite integral | Pendente |
| PAY-004Escopo obrigatório | Separar validação de configuração, teste de comunicação e homologação de pagamento; informar o que cada teste de fato comprovou. | Sem aceite integral | Pendente |
| PAY-005Escopo obrigatório | Teste de configuração não realiza cobrança real automaticamente. | Sem aceite integral | Pendente |
| PAY-006Escopo obrigatório | Configuração de desconto e parcelamento somente quando o contrato da conta permitir, com validação de capacidades no backend. | Sem aceite integral | Pendente |
| PAY-007Escopo obrigatório | Troca de conta/credencial preserva referência da conexão usada por tentativas anteriores para permitir conciliação. | Sem aceite integral | Pendente |
| PAY-008Escopo obrigatório | Diagnóstico com data, sucesso/falha e orientação em PT-BR; sem mostrar chave ou payload pessoal completo. | Sem aceite integral | Pendente |
| PAY-009P0 | Gerar order_nsu opaco e único globalmente por tentativa, mapeado no banco para tenant, pedido e conexão. | Sem aceite integral | Pendente |
| PAY-010P0 | Montar itens/valores a partir do snapshot autorizado; enviar preço em centavos e não receber total livre do frontend. | Sem aceite integral | Pendente |
| PAY-011Escopo obrigatório | Usar opções de uso único/validade quando disponíveis, alinhadas à política de reserva. | Sem aceite integral | Pendente |
| PAY-012P0 | Persistir URL, identificadores externos, versão do contrato, referência da conexão e estado da tentativa. | Sem aceite integral | Pendente |
| PAY-013P0 | Restringir domínio da URL de pagamento retornada ao provedor permitido; não redirecionar para URL arbitrária enviada ao checkout. | Sem aceite integral | Pendente |
| PAY-014P0 | Retorno do navegador apenas oferece dados para verificação; não constitui evento financeiro confiável. | Sem aceite integral | Pendente |
| PAY-015P0 | Webhook é aviso não autenticado: limitar tamanho/taxa, validar formato, gravar inbox durável e confirmar pela API antes de aplicar efeitos. | Sem aceite integral | Pendente |
| PAY-016P0 | Responder 2xx rapidamente somente depois da gravação durável. Se o banco não aceitar o evento, retornar falha para permitir reentrega. | Sem aceite integral | Pendente |
| PAY-017P0 | Tenant vem do mapeamento da tentativa conhecida, não de um campo tenant_id do webhook. Eventos desconhecidos vão para quarentena com dados minimizados. | Sem aceite integral | Pendente |
| PAY-018P0 | Verificar referência, conta esperada, transação, moeda/valor aplicável e estado efetivamente confirmado; rejeitar transação reaproveitada em outro pedido. | Sem aceite integral | Pendente |
| PAY-019P0 | Comparar o valor original da cobrança com o snapshot/condição aplicada. Tratar valor efetivamente pago e taxas separadamente; parcelamento pode produzir diferença legítima. | Sem aceite integral | Pendente |
| PAY-020P0 | Documentar a função de validação por método/desconto; exigir testes com as respostas reais do contrato, sem aceitar qualquer paid=true sem contexto. | Sem aceite integral | Pendente |
| PAY-021P0 | Aplicar evento financeiro, baixa de estoque, mudança de estado e outbox em transação idempotente. | Sem aceite integral | Pendente |
| PAY-022Escopo obrigatório | Registrar identificadores externos com unicidade adequada por provedor/conta/ambiente, considerando a garantia real do contrato. | Sem aceite integral | Pendente |
| PAY-023Escopo obrigatório | Após timeout, tentar reconciliar a tentativa existente antes de oferecer outra cobrança. | Sem aceite integral | Pendente |
| PAY-024Escopo obrigatório | Reprocessamento de inbox não pode repetir baixa, cupom, exportação ou e-mail de aprovação. | Sem aceite integral | Pendente |
| PAY-025Escopo obrigatório | Manter callbacks antigos operacionais enquanto houver cobranças que dependam deles. | Sem aceite integral | Pendente |
| PAY-026Escopo obrigatório | Reconciliar automaticamente tentativas com identificadores suficientes, em agenda com limites e backoff. | Sem aceite integral | Pendente |
| PAY-027Escopo obrigatório | Não prometer consulta usando somente o número local do pedido quando o contrato exige dados adicionais. | Sem aceite integral | Pendente |
| PAY-028Escopo obrigatório | Se retorno e webhook forem perdidos sem identificadores recuperáveis, abrir pendência de conciliação manual e orientar conferência na conta do provedor. | Sem aceite integral | Pendente |
| PAY-029Escopo obrigatório | Estorno só é automático se houver endpoint oficialmente suportado e homologado. Caso contrário, fornecer fluxo assistido para execução no provedor e verificação posterior. | Sem aceite integral | Pendente |
| PAY-030P0 | Clicar “solicitar estorno” não marca “reembolsado”; exigir confirmação verificável/evidência operacional autorizada. | Sem aceite integral | Pendente |
| PAY-031Escopo obrigatório | Distinguir valor de mercadoria, desconto, frete, valor original de cobrança, valor pago, taxas conhecidas e valor reembolsado. | Sem aceite integral | Pendente |
| PAY-032Escopo obrigatório | Disputas/chargebacks só são automatizados se o contrato oferecer informação suficiente; manter registro assistido quando necessário. | Sem aceite integral | Pendente |
| PAY-033Escopo obrigatório | Homologar Pix e cartão se ambos forem oferecidos, incluindo retorno interrompido, webhook duplicado, diferença legítima de valor e pagamento tardio. | Sem aceite integral | Pendente |
| PAY-034Escopo obrigatório | Compra real de teste exige valor e operador definidos; testes automatizados nunca movimentam dinheiro real por padrão. | Sem aceite integral | Pendente |
| PAY-035Escopo obrigatório | Provar que o recebimento ocorreu na conta certa e que o sistema atualizou o pedido; uma chave salva não basta como aceite. | Sem aceite integral | Pendente |
| PAY-036Escopo obrigatório | Registrar limitações do provedor de forma visível no painel; não exibir um checkout interno de cartão que o adaptador não executa. | Sem aceite integral | Pendente |
| SHIP-001Escopo obrigatório | Cada loja pode habilitar retirada presencial, entrega própria e Melhor Envio, independentemente do Omie. | Sem aceite integral | Pendente |
| SHIP-002Escopo obrigatório | Retirada: locais, horário, prazo de preparação, instruções e confirmação de retirada por operador autorizado. | Sem aceite integral | Pendente |
| SHIP-003Escopo obrigatório | Entrega própria: cobertura por CEP/faixa/regra explícita, tarifa, prazo e identificação do responsável quando aplicável. | Sem aceite integral | Pendente |
| SHIP-004Escopo obrigatório | Frete grátis: regra de valor, produtos/categorias, regiões, modalidade e eventual limite de subsídio. | Sem aceite integral | Pendente |
| SHIP-005Escopo obrigatório | Preço e prazo exibidos separam preparação e transporte; registrar o prazo prometido no pedido. | Sem aceite integral | Pendente |
| SHIP-006Escopo obrigatório | Sem rota válida ou cotação disponível, apresentar alternativas reais ou impedir compra de forma clara; não assumir frete zero. | Sem aceite integral | Pendente |
| SHIP-007Escopo obrigatório | Guardar versão da política de entrega; mudar uma regra não altera pedidos já pagos. | Sem aceite integral | Pendente |
| SHIP-008Escopo obrigatório | Peso/dimensões ausentes impedem modalidade que deles depende, com indicação do produto a corrigir. | Sem aceite integral | Pendente |
| ME-001P0 | Credenciais globais do aplicativo acessíveis somente à administração da plataforma e ao serviço de integração. | Sem aceite integral | Pendente |
| ME-002Escopo obrigatório | Botão “Conectar Melhor Envio” inicia autorização, sem pedir ao lojista client ID/client secret globais ou senha do provedor. | Sem aceite integral | Pendente |
| ME-003P0 | state aleatório, uso único, expiração, vínculo a tenant/usuário/sessão e validação no callback central. | Sem aceite integral | Pendente |
| ME-004P0 | redirect_uri fixo e cadastrado; não aceitar callback arbitrário vindo do frontend. | Sem aceite integral | Pendente |
| ME-005Escopo obrigatório | Solicitar somente escopos necessários e implementar PKCE se o contrato atual suportar; não inventar suporte. | Sem aceite integral | Pendente |
| ME-006P0 | Guardar tokens criptografados por tenant, ambiente, expiração e versão da conexão. | Sem aceite integral | Pendente |
| ME-007P0 | Renovação com lock por conexão; atualização atômica de access/refresh token para evitar perder token rotacionado em jobs concorrentes. | Sem aceite integral | Pendente |
| ME-008Escopo obrigatório | Tratar revogação/expiração definitiva como necessidade de reconectar, com mensagem clara e sem loop de retries. | Sem aceite integral | Pendente |
| ME-009Escopo obrigatório | Desconectar revoga quando suportado, interrompe novas operações e mantém histórico de envios existentes. | Sem aceite integral | Pendente |
| ME-010Escopo obrigatório | Configurar origem, serviços habilitados, margem, preparação, retirada e política de gratuidade pelo painel. | Sem aceite integral | Pendente |
| ME-011Escopo obrigatório | Confirmar requisitos vigentes de publicação/homologação do aplicativo antes do go-live. Referência: FAQ oficial da integração. | Sem aceite integral | Pendente |
| ME-012Escopo obrigatório | Calcular frete com variante, quantidade, origem elegível, destino, valor declarado e embalagens reais. | Sem aceite integral | Pendente |
| ME-013Escopo obrigatório | Configurar embalagens por loja e algoritmo determinístico de agrupamento, com limites do serviço e rastreabilidade do cálculo. | Sem aceite integral | Pendente |
| ME-014Escopo obrigatório | Testar carrinho com um e vários itens, dimensões-limite, produto volumoso, CEP inválido e serviço indisponível. | Sem aceite integral | Pendente |
| ME-015Escopo obrigatório | Cache de cotação curto inclui todos os insumos relevantes e conexão/ambiente. Revalidar na finalização. | Sem aceite integral | Pendente |
| ME-016P0 | Operações de gerar/pagar etiqueta exigem pedido elegível, permissão e ação explícita do operador; impedir cobrança logística duplicada. | Sem aceite integral | Pendente |
| ME-017Escopo obrigatório | Salvar referência externa antes da etapa seguinte; em timeout, consultar/reconciliar o envio existente em vez de repetir a compra. | Sem aceite integral | Pendente |
| ME-018Escopo obrigatório | Implementar o fluxo exato suportado: criar envio, pagar quando exigido, gerar, imprimir e acompanhar; não tratar cotação como etiqueta pronta. | Sem aceite integral | Pendente |
| ME-019Escopo obrigatório | Separar valor de frete cobrado do comprador e custo real da etiqueta, com ajustes/repesagem registrados. | Sem aceite integral | Pendente |
| ME-020Escopo obrigatório | Verificar documentação exigida para aquela remessa antes da compra/expedição, sem regra genérica de dispensa por CPF. | Sem aceite integral | Pendente |
| ME-021Escopo obrigatório | Etiquetas e documentos ficam em armazenamento privado, com download por usuário autorizado. | Sem aceite integral | Pendente |
| ME-022Escopo obrigatório | Cancelamento de etiqueta consulta condições e estado do provedor; não anunciar reembolso do frete sem confirmação. | Sem aceite integral | Pendente |
| ME-023Escopo obrigatório | Atualizar rastreio por webhook validável ou consulta periódica oficial; preservar eventos e evitar notificações duplicadas. | Sem aceite integral | Pendente |
| ME-024Escopo obrigatório | Código de rastreio e link da transportadora validado aparecem no acompanhamento autenticado e nos e-mails transacionais. | Sem aceite integral | Pendente |
| ME-025Escopo obrigatório | Retirada e entrega própria também têm estados e notificações; não dependem de código de transportadora. | Sem aceite integral | Pendente |
| ME-026Escopo obrigatório | Testar todo o fluxo em sandbox e, posteriormente, uma expedição real autorizada quando necessária à homologação. | Sem aceite integral | Pendente |
| ME-027Escopo obrigatório | Respeitar timeouts, limites, Retry-After, classificação de erro e circuit breaker por conexão. | Sem aceite integral | Pendente |
| OMIE-001Escopo obrigatório | Formulário App Key/App Secret, teste de comunicação e instruções de obtenção, sem pedir login/senha pessoal do Omie. | Parcial | Parcial: Formulário e cliente HTTP parcial; teste real, assistente e sincronização pendentes. |
| OMIE-002P0 | Segredos criptografados e nunca devolvidos integralmente ao navegador após salvar. | Sem aceite integral | Pendente |
| OMIE-003Escopo obrigatório | Opções independentes: produtos, categorias, preços, estoques, clientes, pedidos e dados de documentos fiscais. | Sem aceite integral | Pendente |
| OMIE-004Escopo obrigatório | Assistente inicial mostra quantidade de registros, mapeamentos e efeito da importação antes de confirmar. | Sem aceite integral | Pendente |
| OMIE-005Escopo obrigatório | Definir origem de verdade por campo/domínio: Rapido ou Omie. Não habilitar sincronização bidirecional irrestrita. | Sem aceite integral | Pendente |
| OMIE-006Escopo obrigatório | Mapear SKUs, variantes, unidades, locais, categorias, cliente e código de integração de pedidos. | Sem aceite integral | Pendente |
| OMIE-007Escopo obrigatório | Permitir “Omie apenas para faturamento”, mantendo fotos, aparência e catálogo editorial no Rapido. | Sem aceite integral | Pendente |
| OMIE-008Escopo obrigatório | Se a API não oferecer equivalência nativa para uma variante, documentar mapeamento por SKU ou restrição, sem perder combinações. | Sem aceite integral | Pendente |
| OMIE-009P0 | Jobs idempotentes por tenant, conexão, entidade, versão/origem e operação. | Sem aceite integral | Pendente |
| OMIE-010Escopo obrigatório | Carga inicial por paginação com checkpoint, retomada e relatório de itens processados/rejeitados. | Sem aceite integral | Pendente |
| OMIE-011Escopo obrigatório | Reprocessar somente falhas selecionadas; uma linha inválida não destrói o progresso do lote. | Sem aceite integral | Pendente |
| OMIE-012P0 | Exportar pedido pago uma única vez, com código de integração estável; reconciliar timeout antes de incluir novamente. | Sem aceite integral | Pendente |
| OMIE-013Escopo obrigatório | Criar/associar cliente conforme campos necessários, com minimização; não obrigar conta do comprador. | Sem aceite integral | Pendente |
| OMIE-014Escopo obrigatório | Preservar totais, descontos, frete e arredondamento; divergência é pendência explícita, não ajuste silencioso de valor. | Sem aceite integral | Pendente |
| OMIE-015Escopo obrigatório | Webhook é notificação; verificar origem pelo mecanismo disponível e buscar entidade na API com a conexão correta antes de aplicar dados críticos. | Sem aceite integral | Pendente |
| OMIE-016P0 | Evento recebido não escolhe livremente tenant/credencial; resolver a conexão cadastrada e validar correspondência. | Sem aceite integral | Pendente |
| OMIE-017Escopo obrigatório | Identificar origem e versão das alterações para impedir ciclos de sincronização Rapido → Omie → Rapido. | Sem aceite integral | Pendente |
| OMIE-018Escopo obrigatório | Estoque remoto atualiza saldo segundo o contrato definido, preservando reservas e evitando dupla baixa de pedido já exportado. | Sem aceite integral | Pendente |
| OMIE-019Escopo obrigatório | Rate limiter global por IP e por conta/método quando necessário, com limites configurados segundo documentação vigente. | Sem aceite integral | Pendente |
| OMIE-020Escopo obrigatório | Não disparar várias chamadas sobre o mesmo registro ao mesmo tempo; usar lock e coalescência de atualizações. | Sem aceite integral | Pendente |
| OMIE-021Escopo obrigatório | Classificar falha de negócio, credencial, limite, indisponibilidade e duplicidade; repetir apenas as recuperáveis. | Sem aceite integral | Pendente |
| OMIE-022Escopo obrigatório | Mostrar última sincronização, atraso, progresso, erros traduzidos, detalhes sanitizados e ação corretiva. | Sem aceite integral | Pendente |
| OMIE-023Escopo obrigatório | Pausar/reiniciar cada direção da sincronização sem perder os mapeamentos. | Sem aceite integral | Pendente |
| OMIE-024Escopo obrigatório | Validar em empresa/aplicativo de demonstração apropriado; nunca usar empresa real como fixture destrutiva. | Sem aceite integral | Pendente |
| OMIE-025Escopo obrigatório | Notas/documentos retornados são vinculados ao estabelecimento e pedido corretos, com armazenamento privado. | Sem aceite integral | Pendente |
| INT-001Escopo obrigatório | Cada integração tem abas “Como conectar”, “Configurações”, “Testar”, “Histórico” e “Ajuda”. | Sem aceite integral | Pendente |
| INT-002Escopo obrigatório | Estados padronizados: não configurada, em autorização, conectada, degradada, expirada, revogada e desativada. | Sem aceite integral | Pendente |
| INT-003Escopo obrigatório | Estados de teste e de produção separados; erro de sandbox não altera a conexão de produção. | Sem aceite integral | Pendente |
| INT-004Escopo obrigatório | Lojista configura pelo painel, sem editar .env, PHP, JSON ou comandos de servidor. | Sem aceite integral | Pendente |
| INT-005Escopo obrigatório | .env/secret store contém apenas infraestrutura e material global necessário; segredos por loja ficam no cofre lógico de integrações. | Sem aceite integral | Pendente |
| INT-006P0 | Criptografia autenticada, nonce correto, key_id e contexto autenticado incluindo tenant/provedor/registro. | Sem aceite integral | Pendente |
| INT-007P0 | Chave mestra fora do banco e do Git, protegida no host; backup separado e recuperável. Perder a chave implica perder acesso às credenciais criptografadas. | Sem aceite integral | Pendente |
| INT-008Escopo obrigatório | Rotação de chave com leitura de versão antiga e recriptografia em lotes; validar antes de retirar chave anterior. | Sem aceite integral | Pendente |
| INT-009Escopo obrigatório | Permitir substituir/revogar, não “mostrar segredo salvo”. Auditoria registra ação e campos alterados, nunca o segredo. | Sem aceite integral | Pendente |
| INT-010Escopo obrigatório | Adaptadores implementam contratos próprios como GatewayPagamento, ServicoFrete, IntegracaoERP e EmissorFiscal. | Sem aceite integral | Pendente |
| INT-011Escopo obrigatório | Capabilidades declaradas por adaptador: testes, estorno, expiração, rastreio, renovação e tipos de conexão realmente suportados. | Sem aceite integral | Pendente |
| INT-012Escopo obrigatório | Não implementar métodos fictícios para aparentar padronização; recurso indisponível retorna capacidade indisponível com alternativa operacional. | Sem aceite integral | Pendente |
| INT-013Escopo obrigatório | Configuração global distingue credencial do aplicativo, credencial do lojista e ambiente; não trocar uma pela outra. | Sem aceite integral | Pendente |
| INT-014Escopo obrigatório | Egress para hosts permitidos, TLS verificado e limites de resposta; nunca desabilitar verificação de certificado para “resolver” conexão. | Sem aceite integral | Pendente |
| INT-015Escopo obrigatório | Timeouts separados de conexão e resposta, backoff com jitter, limite de tentativas e fila de falhas. | Sem aceite integral | Pendente |
| FISC-001Escopo obrigatório | Módulo separado do checkout e do cadastro empresarial genérico, mas capaz de impor pendências documentais na expedição quando aplicáveis. | Sem aceite integral | Pendente |
| FISC-002Escopo obrigatório | Configuração por estabelecimento, vigência, operação e modalidade/transportadora; origem e data de revisão das regras registradas. | Sem aceite integral | Pendente |
| FISC-003Escopo obrigatório | PF pode editar e personalizar tudo; não exigir NF-e automática, certificado ou Omie para montar catálogo. | Sem aceite integral | Pendente |
| FISC-004Escopo obrigatório | Permitir importação/registro de documento externo e consulta de documento emitido no Omie. | Sem aceite integral | Pendente |
| FISC-005Escopo obrigatório | Diferenciar NF-e, documentos de transporte/conteúdo e comprovante comercial; não tratá-los como equivalentes. | Sem aceite integral | Pendente |
| FISC-006Escopo obrigatório | Suporte a DC-e/declaração ou documento equivalente apenas quando aplicável e aceito no fluxo vigente; não usar como substituto universal de nota. | Sem aceite integral | Pendente |
| FISC-007Escopo obrigatório | Validar chave/formato e associação sem declarar autenticidade fiscal somente por passar no dígito verificador. | Sem aceite integral | Pendente |
| FISC-008Escopo obrigatório | Arquivos XML/PDF recebidos são tratados como não confiáveis; XML sem entidades externas e parsing protegido contra XXE. | Sem aceite integral | Pendente |
| FISC-009Escopo obrigatório | Estados: não aplicável, pendente, em processamento, emitido/informado, rejeitado e cancelado, conforme a capacidade do conector. | Sem aceite integral | Pendente |
| FISC-010Escopo obrigatório | Documentação pendente não apaga pedido pago; gera ação clara ao operador e impede apenas a operação incompatível. | Sem aceite integral | Pendente |
| FISC-011Escopo obrigatório | Plataforma não emite vendas dos lojistas usando o próprio CNPJ do Rapido. | Sem aceite integral | Pendente |
| FISC-012Escopo obrigatório | Nota do serviço SaaS da plataforma, se aplicável, é processo separado das notas das mercadorias do lojista. | Sem aceite integral | Pendente |
| FISC-013Escopo obrigatório | Regras tributárias e termos finais são revisados por responsável habilitado antes de habilitar o cenário de produção correspondente. | Sem aceite integral | Pendente |
| FISC-014Escopo obrigatório | Mudança PF → PJ mantém documentos anteriores associados ao vendedor e à vigência originais. | Sem aceite integral | Pendente |
| SEARCH-001Escopo obrigatório | Um índice lógico por tenant na primeira versão: catalogo_{uuid_sem_hifens}_v{schema}. | Sem aceite integral | Pendente |
| SEARCH-002P0 | Busca da loja passa pelo backend, que determina índice e filtros permitidos; navegador não escolhe índice nem recebe master key. | Sem aceite integral | Pendente |
| SEARCH-003P0 | Publicar no índice somente catálogo público: sem custo, segredo, cliente, pedido, documento ou configuração privada. | Sem aceite integral | Pendente |
| SEARCH-004Escopo obrigatório | Indexar nome, descrição pública, marca, categorias, atributos, SKU público se desejado, preço de exibição e URL. | Sem aceite integral | Pendente |
| SEARCH-005Escopo obrigatório | Filtros por categoria, marca, faixa de preço, atributos e disponibilidade; ordenação por relevância, preço e lançamento. | Sem aceite integral | Pendente |
| SEARCH-006Escopo obrigatório | Sinônimos, tolerância a erro e regras de relevância configuráveis por loja dentro de limites seguros. | Sem aceite integral | Pendente |
| SEARCH-007Escopo obrigatório | Endpoint aplica paginação e tamanho máximo, limita filtros complexos e bloqueia abuso. | Sem aceite integral | Pendente |
| SEARCH-008Escopo obrigatório | Eventos de catálogo alimentam reindexação incremental via outbox; erros ficam visíveis no painel. | Sem aceite integral | Pendente |
| SEARCH-009Escopo obrigatório | Confirmar conclusão da tarefa assíncrona do motor; receber task ID não significa conteúdo já disponível. | Sem aceite integral | Pendente |
| SEARCH-010Escopo obrigatório | Reindexação completa constrói índice novo, valida contagens e só então troca a referência; preservar anterior por janela de rollback. | Sem aceite integral | Pendente |
| SEARCH-011Escopo obrigatório | Desativar produto remove/oculta em busca; resultado desatualizado nunca autoriza compra de produto inativo. | Sem aceite integral | Pendente |
| SEARCH-012Escopo obrigatório | Se o motor cair, oferecer busca simplificada em PostgreSQL e aviso interno; checkout continua validando no banco. | Sem aceite integral | Pendente |
| SEARCH-013Escopo obrigatório | Medir atraso de indexação e alertar sobre fila parada. | Sem aceite integral | Pendente |
| SEARCH-014Escopo obrigatório | Credenciais separadas de administração/indexação/busca; serviço não é exposto diretamente à Internet. | Sem aceite integral | Pendente |
| SEARCH-015Escopo obrigatório | Testar busca com palavras, marcas e SKUs exclusivos de A e B, incluindo filtros manipulados. | Sem aceite integral | Pendente |
| MAIL-001Escopo obrigatório | Templates PT-BR, HTML e texto, com identidade da loja e dados consistentes com o pedido. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Notificacoes/EmailRenderizador.php, Notificacoes.php e Aparencia/IdentidadeVisual.php; testes/EmailSegundoFatorTest.php e IdentidadeVisualTest.php, HTML/texto/logo publicados. Resultado: aprovado. |
| MAIL-002Escopo obrigatório | Eventos mínimos: código de verificação, recuperação, convite, pedido recebido, pagamento confirmado, falha acionável, envio, retirada disponível, entrega e devolução/reembolso confirmado. | Parcial | Parcial: OTP, acesso, cadastro, recuperação, convite, pedido recebido e pago existem; logística/devolução/reembolso pendentes. |
| MAIL-003Escopo obrigatório | Diferenciar “pedido recebido” de “pagamento aprovado”; não afirmar pagamento antes de conferir o provedor. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Checkout/Acompanhamento.php e Pagamentos/Pagamentos.php; testes/FluxosTest.php, confirmação ativa antes de notificar pago. Resultado: aprovado. |
| MAIL-004P0 | E-mail de acompanhamento só é enviado ao endereço registrado/verificado, não ao endereço livre de uma chamada de API. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Checkout/Acompanhamento.php; testes/FluxosTest.php, destinatário do snapshot preservado após alterar cadastro comercial. Resultado: aprovado. |
| MAIL-005Escopo obrigatório | Outbox transacional e identificador único por evento/template/destinatário para reduzir duplicidade; tratar timeout de envio como possível entrega ambígua. | Parcial | Parcial: Outbox e Message-ID estáveis; ledger e conciliação de envio ambíguo ainda pendentes. |
| MAIL-006Escopo obrigatório | SMTP/API com timeout, tentativas, classificação de bounce, suppression e painel de falhas. | Sem aceite integral | Pendente |
| MAIL-007Escopo obrigatório | Sem garantia fictícia de entrega: registrar aceito pelo provedor, entregue se comprovado, rejeitado e devolvido. | Parcial | Parcial: Teste SMTP registra aceito e caixa não confirmada; estados completos de entrega/devolução ainda pendentes. |
| MAIL-008Escopo obrigatório | Remetente padrão em domínio da plataforma com SPF/DKIM/DMARC; nome de exibição identifica a loja e Reply-To usa contato validado. | Parcial | Parcial: Alias autorizado e nome da loja ativos; SPF/DKIM/DMARC observado na mensagem e Reply-To validado pendentes. |
| MAIL-009Escopo obrigatório | Domínio próprio de envio é opcional e só fica ativo após verificação DNS específica. | Sem aceite integral | Pendente |
| MAIL-010Escopo obrigatório | Não enviar como domínio arbitrário do lojista sem autorização e configuração de entregabilidade. | Aceito em homologação | Homologação, 09/11/2026: Modulos/Notificacoes/Notificacoes.php e CorreioSmtp.php; testes/IdentidadeVisualTest.php, From fixo da plataforma e apenas nome visual da loja. Resultado: aprovado. |
| MAIL-011Escopo obrigatório | E-mails incluem resumo necessário, links seguros e canal de suporte; documentos completos não são anexados indiscriminadamente. | Sem aceite integral | Pendente |
| MAIL-012Escopo obrigatório | Sandbox/desenvolvimento usa capturador local; nenhum seed dispara comunicação real para clientes. | Parcial | Parcial: Testes/seeds sintéticos sempre capturados; SMTP real autorizado pelo proprietário nesta homologação (ADR-008/010). |
| MAIL-013Escopo obrigatório | Respeitar cancelamento de marketing sem impedir mensagens necessárias à compra e à segurança da conta. | Sem aceite integral | Pendente |
| MAIL-014Escopo obrigatório | Logs de comunicação minimizados e com retenção; tokens e credenciais redigidos. | Sem aceite integral | Pendente |
| MAIL-015Escopo obrigatório | WhatsApp/SMS não são obrigatórios na primeira entrega; não simular envio nesses canais. | Aceito em homologação | Homologação, 09/11/2026: composer.json e Modulos/Notificacoes/; revisão de escopo, nenhum envio ou simulação WhatsApp/SMS. Resultado: aprovado. |
| REL-001Escopo obrigatório | Vendas por período, quantidade de pedidos, faturamento bruto confirmado, descontos, frete, reembolsos e ticket médio. | Sem aceite integral | Pendente |
| REL-002Escopo obrigatório | Separar data do pedido, confirmação financeira e entrega; filtro deixa claro qual data é utilizada. | Sem aceite integral | Pendente |
| REL-003Escopo obrigatório | Produtos/variantes mais vendidos, combos e categorias com agregação consistente. | Sem aceite integral | Pendente |
| REL-004Escopo obrigatório | Clientes recorrentes, novos, convidados e com conta; nenhuma comparação entre tenants na área do lojista. | Sem aceite integral | Pendente |
| REL-005Escopo obrigatório | Estoque físico/reservado/disponível por local, movimentos e itens em alerta. | Sem aceite integral | Pendente |
| REL-006Escopo obrigatório | Uso de cupons e campanhas, com definição de receita atribuída e exclusão de pedidos cancelados conforme o indicador. | Sem aceite integral | Pendente |
| REL-007Escopo obrigatório | Funil básico por eventos próprios: produto, carrinho, checkout e pagamento; sem introduzir rastreadores de terceiros obrigatórios. | Sem aceite integral | Pendente |
| REL-008Escopo obrigatório | Dashboard financeiro não chama “lucro líquido” um cálculo que desconhece tributos, custos e taxas. | Sem aceite integral | Pendente |
| REL-009Escopo obrigatório | Exportações privadas e assíncronas com critérios/filtros do relatório preservados no arquivo. | Sem aceite integral | Pendente |
| REL-010Escopo obrigatório | Totais reconciliam com pedidos/eventos financeiros em cenários de pagamento duplicado e reembolso parcial. | Sem aceite integral | Pendente |
| REL-011Escopo obrigatório | Grandes relatórios usam agregados ou jobs, sem bloquear o FPM nem desativar RLS. | Sem aceite integral | Pendente |
| ATEND-001Escopo obrigatório | Histórico de atendimento ligado a pedido/cliente, com mensagem pública ou nota interna claramente separadas. | Sem aceite integral | Pendente |
| ATEND-002Escopo obrigatório | Solicitação de cancelamento/troca/devolução com protocolo, motivo, itens, quantidades e acompanhamento. | Sem aceite integral | Pendente |
| ATEND-003Escopo obrigatório | Estado do pedido, retorno do produto, reembolso e reposição de estoque são eventos separados. | Sem aceite integral | Pendente |
| ATEND-004Escopo obrigatório | Não exigir conta para atendimento de convidado que possui autorização válida de acompanhamento. | Sem aceite integral | Pendente |
| ATEND-005Escopo obrigatório | Canais de contato e políticas acessíveis antes e depois da compra. | Sem aceite integral | Pendente |
| DB-001Escopo obrigatório | UUIDs internos gerados com fonte segura; escolher versão suportada e usar consistentemente. Não exigir função de banco inexistente na versão instalada. | Sem aceite integral | Pendente |
| DB-002Escopo obrigatório | Timestamps timestamptz, nomes claros e instantes em UTC; fuso de apresentação configurado por loja. | Sem aceite integral | Pendente |
| DB-003Escopo obrigatório | Campos monetários bigint em centavos e validações de intervalo; percentuais em representação exata documentada. | Sem aceite integral | Pendente |
| DB-004Escopo obrigatório | Número público comercial gerado por tenant com concorrência segura; referências de consulta externa são opacas. | Sem aceite integral | Pendente |
| DB-005Escopo obrigatório | created_at/updated_at podem seguir padrão técnico da biblioteca ou ser traduzidos, mas não misturar convenções sem motivo. | Sem aceite integral | Pendente |
| DB-006Escopo obrigatório | JSONB para configurações versionadas e snapshots; campos de busca, vínculo, estado e valor crítico são colunas tipadas/indexadas. | Sem aceite integral | Pendente |
| DB-007Escopo obrigatório | CHECK, NOT NULL, índices únicos, FKs e RLS reforçam regras; não depender apenas do formulário. | Sem aceite integral | Pendente |
| DB-008Escopo obrigatório | Campos de documento e endereço têm acesso restrito; criptografar campos sensíveis conforme a classificação e usar HMAC separado se precisar busca exata sem texto aberto. | Sem aceite integral | Pendente |
| DB-009Escopo obrigatório | Se e-mail for criptografado, unicidade/deduplicação usa índice HMAC com chave própria e regra de normalização versionada; não fazer busca por hash simples de dados previsíveis. | Sem aceite integral | Pendente |
| DB-010Escopo obrigatório | Não usar exclusão lógica indiscriminadamente em movimentos financeiros/estoque; registros imutáveis usam eventos de correção/estorno. | Sem aceite integral | Pendente |
| DB-011P0 | UNIQUE (tenant_id, id) nos alvos de FKs compostas, além da PK escolhida. | Sem aceite integral | Pendente |
| DB-012P0 | FK de item de pedido para pedido inclui tenant; mesma exigência para cliente, variante, arquivo, local, conexão e documento. | Sem aceite integral | Pendente |
| DB-013P0 | UNIQUE (tenant_id, sku) em variantes; UNIQUE (tenant_id, codigo_normalizado) em cupons. | Sem aceite integral | Pendente |
| DB-014P0 | UNIQUE (tenant_id, variante_id, local_id) em saldos e checks de quantidade não negativa. | Sem aceite integral | Pendente |
| DB-015P0 | Identificadores de tentativa, evento financeiro e resgate de cupom têm unicidade que sustenta idempotência. | Sem aceite integral | Pendente |
| DB-016Escopo obrigatório | Índices de pedidos por tenant/data, tenant/cliente e tenant/estados; validar com EXPLAIN em volume representativo. | Sem aceite integral | Pendente |
| DB-017Escopo obrigatório | Índices de inbox/outbox por estado, próxima tentativa e data, com seleção concorrente segura. | Sem aceite integral | Pendente |
| DB-018Escopo obrigatório | Índices de expiração em reservas, desafios, tokens, cotações e exportações. | Sem aceite integral | Pendente |
| DB-019Escopo obrigatório | Endereço do pedido é snapshot, não referência mutável ao endereço atual do cliente. | Sem aceite integral | Pendente |
| DB-020Escopo obrigatório | FK histórica não deve apagar itens, pagamentos ou documentos quando produto/cliente for arquivado. | Sem aceite integral | Pendente |
| DB-021Escopo obrigatório | Controle de versão de registros mutáveis importantes e de configuração de aparência. | Sem aceite integral | Pendente |
| DB-022Escopo obrigatório | Toda migração tem versão, checksum, ordem e registro de aplicação; estratégia de rollback ou correção progressiva documentada. | Sem aceite integral | Pendente |
| DB-023Escopo obrigatório | Testar migração em banco vazio e atualização de versão anterior com pedidos, reservas e integrações já existentes. | Sem aceite integral | Pendente |
| DB-024Escopo obrigatório | Verificação automática de catálogo de tabelas detecta tabela comercial nova sem tenant_id, política ou FK adequada. | Sem aceite integral | Pendente |
| API-001Escopo obrigatório | Gerar OpenAPI para API v1, com esquemas, limites, autenticação, exemplos e erros; manter documentação compatível com o código. | Sem aceite integral | Pendente |
| API-002P0 | Cookies de sessão servem às interfaces web. Integrações usam credencial específica com tenant, escopos, expiração e revogação. | Sem aceite integral | Pendente |
| API-003P0 | Credenciais de API aleatórias, exibidas uma vez e armazenadas em hash/HMAC apropriado; nunca usar senha do proprietário. | Sem aceite integral | Pendente |
| API-004P0 | Token de uma loja não opera em outra mesmo se o slug ou ID de recurso for trocado na URL. | Sem aceite integral | Pendente |
| API-005Escopo obrigatório | Escopos independentes: leitura/escrita de catálogo, consulta de pedidos, atualização logística, estoque e acesso autorizado a clientes. | Sem aceite integral | Pendente |
| API-006Escopo obrigatório | Não oferecer endpoint para “marcar pago” usando credencial comum de catálogo/atendimento. | Sem aceite integral | Pendente |
| API-007Escopo obrigatório | Paginação limitada, filtros tipados, ordenação permitida e rate limit por credencial/tenant/IP. | Sem aceite integral | Pendente |
| API-008Escopo obrigatório | Respostas com request_id, código estável de erro e mensagem PT-BR; dados internos ficam apenas no diagnóstico protegido. | Sem aceite integral | Pendente |
| API-009Escopo obrigatório | Usar 401 para falta de autenticação, 403 para ação vedada, 404 para recurso fora do escopo, 409 para conflito e 422 para validação, sem enumerar recursos privados. | Sem aceite integral | Pendente |
| API-010Escopo obrigatório | CORS desativado por padrão para origens externas; liberar somente origens exatas e necessidades documentadas. Nunca wildcard com credenciais. | Sem aceite integral | Pendente |
| API-011Escopo obrigatório | Mutações de alto risco aceitam chave de idempotência; preservar resposta ou estado conciliável por período documentado. | Sem aceite integral | Pendente |
| API-012Escopo obrigatório | Datas ISO 8601, IDs como string, valores em centavos e moeda explícita. | Sem aceite integral | Pendente |
| API-013Escopo obrigatório | API e telas chamam os mesmos serviços de domínio; não manter uma segunda implementação de regras comerciais. | Sem aceite integral | Pendente |
| EVT-001Escopo obrigatório | Eventos têm versão, correlação, origem e payload mínimo; dados pessoais completos não circulam no broker sem necessidade. | Sem aceite integral | Pendente |
| EVT-002Escopo obrigatório | Eventos mínimos: loja alterada/suspensa, produto alterado, aparência publicada, pedido criado, pagamento confirmado, envio atualizado e integração degradada. | Sem aceite integral | Pendente |
| EVT-003Escopo obrigatório | Consumidores mantêm chave de deduplicação; sem prometer entrega exatamente uma vez em sistemas externos. | Sem aceite integral | Pendente |
| EVT-004Escopo obrigatório | A ordem de eventos por agregado é verificável por versão/sequência; consumidor rejeita regressão. | Sem aceite integral | Pendente |
| EVT-005Escopo obrigatório | Webhooks de saída para sistemas do lojista são evolução opcional; se incluídos, exigem HMAC, replay window, tentativas e proteção SSRF. | Sem aceite integral | Pendente |
| SEC-001P0 | HTTPS obrigatório para autenticação, painel, checkout, callbacks e arquivos privados. | Sem aceite integral | Pendente |
| SEC-002P0 | display_errors=Off em produção; stacktrace e configuração não aparecem ao usuário. | Sem aceite integral | Pendente |
| SEC-003P0 | Escape contextual de HTML, atributos e URLs; sanitização por allowlist para conteúdo rico. | Sem aceite integral | Pendente |
| SEC-004P0 | Política CSP compatível com templates próprios, sem liberar scripts arbitrários do lojista; cabeçalhos antiframe e nosniff. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php, infraestrutura/Caddyfile.publico e verificar-https.py; CSP/antiframe/nosniff e HSTS inicial de 24h nos dois hosts centrais verificados em docs/evidencias/https.json. Resultado: aprovado. |
| SEC-005P0 | CSRF, proteção de sessão, autorização por objeto e isolamento de tenant testados separadamente. | Sem aceite integral | Pendente |
| SEC-006P0 | Não armazenar segredo no LocalStorage, bundle JS, HTML, URL, analytics ou resposta de diagnóstico. | Sem aceite integral | Pendente |
| SEC-007P0 | APIs de provedor, recuperação e preview usam URLs configuradas/validadas; bloquear open redirect, SSRF e host header poisoning. | Sem aceite integral | Pendente |
| SEC-008P0 | Upload com limite global, por tenant e por tipo; arquivos privados não podem ser executados nem servidos sem autorização. | Sem aceite integral | Pendente |
| SEC-009Escopo obrigatório | Limites de request body, JSON depth, campos, paginação, filtros e custo de consulta. | Sem aceite integral | Pendente |
| SEC-010Escopo obrigatório | HSTS somente após HTTPS estável; não ativar includeSubDomains/preload sem avaliar os domínios controlados e a configuração real. | Aceito em homologação | Homologação, 09/11/2026: Nucleo/Aplicacao.php, infraestrutura/Caddyfile.publico e verificar-https.py; CSP/antiframe/nosniff e HSTS inicial de 24h nos dois hosts centrais verificados em docs/evidencias/https.json. Resultado: aprovado. |
| SEC-011Escopo obrigatório | Senhas, tokens, API keys, códigos, cookies e dados de cartão redigidos nos logs e nas ferramentas de erro. | Sem aceite integral | Pendente |
| SEC-012Escopo obrigatório | Privilégios mínimos de banco, filesystem, containers, jobs e administração da plataforma. | Sem aceite integral | Pendente |
| SEC-013Escopo obrigatório | Sem shell comandado por parâmetros de usuário; exportações e conversões usam bibliotecas/argumentos seguros. | Sem aceite integral | Pendente |
| SEC-014Escopo obrigatório | Atualizações de dependências e imagens têm rotina de verificação, lock e rollback; não usar tags latest em produção. | Sem aceite integral | Pendente |
| SEC-015Escopo obrigatório | Auditoria registra autor real, tenant, ação, alvo, resultado, motivo quando exigido e correlation ID; não copia payload inteiro por conveniência. | Sem aceite integral | Pendente |
| SEC-016Escopo obrigatório | Alertar sobre login privilegiado suspeito, alterações de conta recebedora, domínio, permissões e falhas repetidas de autorização. | Sem aceite integral | Pendente |
| SEC-017Escopo obrigatório | Comparação segura de tokens/HMAC, entropia adequada e rotação com plano de recuperação. | Sem aceite integral | Pendente |
| SEC-018Escopo obrigatório | Backups e arquivos temporários não podem aparecer sob publico/ ou em diretório servido pelo Caddy. | Sem aceite integral | Pendente |
| SEC-019Escopo obrigatório | Serviços internos não possuem portas públicas; acesso administrativo de infraestrutura é independente do painel web. | Sem aceite integral | Pendente |
| SEC-020Escopo obrigatório | Preparar procedimento de incidente: conter acesso, preservar evidências, revogar sessões/chaves afetadas e restaurar operação com rastreabilidade. | Sem aceite integral | Pendente |
| PRIV-001Escopo obrigatório | Inventário de dados por campo: finalidade, base aplicável, acesso, origem, compartilhamento, retenção e eliminação. | Sem aceite integral | Pendente |
| PRIV-002Escopo obrigatório | Não exigir consentimento de marketing para enviar rastreio, concluir compra ou exercer atendimento. | Sem aceite integral | Pendente |
| PRIV-003Escopo obrigatório | Aviso de privacidade específico da loja e da plataforma, com contatos e canais de exercício de direitos. | Sem aceite integral | Pendente |
| PRIV-004Escopo obrigatório | Coletar somente documento/telefone/endereço necessário à operação; informar quando uma exigência vem do provedor. | Sem aceite integral | Pendente |
| PRIV-005Escopo obrigatório | Evitar cookies não essenciais por padrão; ativação de analytics/marketing segue configuração e escolhas do visitante aplicáveis. | Sem aceite integral | Pendente |
| PRIV-006Escopo obrigatório | Exportação de dados do titular com autenticação adequada, escopo correto e entrega privada. | Sem aceite integral | Pendente |
| PRIV-007Escopo obrigatório | Retenção por categoria de dado, com justificativa revisada. Não inventar um único prazo legal para todos os registros. | Sem aceite integral | Pendente |
| PRIV-008Escopo obrigatório | Eliminação/anonimização preserva registros que precisam de retenção e impede reconstrução por tabelas auxiliares não tratadas. | Sem aceite integral | Pendente |
| PRIV-009Escopo obrigatório | Após restauração de backup, reaplicar pedidos de eliminação/revogação e políticas pertinentes para não reintroduzir dados indevidamente. | Sem aceite integral | Pendente |
| PRIV-010Escopo obrigatório | Ambientes de desenvolvimento usam dados sintéticos; cópias de produção precisam de autorização e desidentificação apropriada. | Sem aceite integral | Pendente |
| PRIV-011Escopo obrigatório | Registrar fornecedores/suboperadores e destinos de dados necessários a pagamento, frete, ERP, e-mail e backup. | Sem aceite integral | Pendente |
| PRIV-012Escopo obrigatório | Incidentes seguem avaliação e procedimento de comunicação aplicável, com responsável e prazos vigentes verificados. | Sem aceite integral | Pendente |
| LEGAL-001Escopo obrigatório | Páginas de contato, privacidade, termos, entrega, trocas/devoluções e identificação do vendedor, com rascunho configurável. | Sem aceite integral | Pendente |
| LEGAL-002Escopo obrigatório | Dados públicos apresentados conforme a obrigação aplicável, sem publicar documento pessoal em locais desnecessários. | Sem aceite integral | Pendente |
| LEGAL-003Escopo obrigatório | Resumo de compra permite corrigir itens e dados antes da conclusão e entrega confirmação durável. | Sem aceite integral | Pendente |
| LEGAL-004Escopo obrigatório | Fluxo de arrependimento/cancelamento/devolução com protocolo, comunicação e acompanhamento, sem impor criação de conta. | Sem aceite integral | Pendente |
| LEGAL-005Escopo obrigatório | Termos do lojista e condições do comprador versionados separadamente; registro de aceite não representa imunidade jurídica da plataforma. | Sem aceite integral | Pendente |
| JOB-001P0 | Outbox PostgreSQL é a fonte durável dos eventos de negócio. Redis é transporte, não a única prova de que um job precisa acontecer. | Sem aceite integral | Pendente |
| JOB-002P0 | Dispatcher só marca como publicado com estratégia de retomada; crash entre publicar e marcar pode duplicar mensagem, portanto consumidor é idempotente. | Sem aceite integral | Pendente |
| JOB-003P0 | Se Redis perder mensagens, rotina de reconciliação republica eventos não concluídos a partir do banco. | Sem aceite integral | Pendente |
| JOB-004P0 | Dispatcher global tem acesso apenas às referências mínimas necessárias. Payload de tenant é carregado pelo worker em contexto explícito e sob RLS. | Sem aceite integral | Pendente |
| JOB-005Escopo obrigatório | Se usar função privilegiada para reivindicar eventos globais, limitar a operação, fixar search_path, revogar execução pública e não aceitar SQL dinâmico. | Sem aceite integral | Pendente |
| JOB-006Escopo obrigatório | Filas separadas para pagamentos, notificações, fretes, ERP, importações e relatórios, com prioridades e limites por tenant. | Sem aceite integral | Pendente |
| JOB-007Escopo obrigatório | Locks com prazo e renovação, visibilidade/ack, recuperação de consumidor morto e contador de tentativas. | Sem aceite integral | Pendente |
| JOB-008Escopo obrigatório | Diferenciar erro transitório, permanente, de autenticação e de regra de negócio. | Sem aceite integral | Pendente |
| JOB-009Escopo obrigatório | Retries exponenciais com jitter, tentativas máximas e próxima execução persistida. | Sem aceite integral | Pendente |
| JOB-010Escopo obrigatório | Fila de falhas com diagnóstico sanitizado, motivo, tenant, recurso e reprocessamento autorizado. | Sem aceite integral | Pendente |
| JOB-011P0 | Ao iniciar um job, recarregar tenant/conexão e verificar capacidade relevante. Loja suspensa ainda pode receber confirmação de pagamento anterior. | Sem aceite integral | Pendente |
| JOB-012Escopo obrigatório | Restringir payloads aos formatos/versionamentos conhecidos; não desserializar objetos PHP não confiáveis. | Sem aceite integral | Pendente |
| JOB-013Escopo obrigatório | Registrar início/fim, duração, correlation ID e efeito; worker não carrega segredo indefinidamente entre tenants. | Sem aceite integral | Pendente |
| JOB-014Escopo obrigatório | Encerrar worker com sinal de forma graciosa, concluir ou liberar trabalho em andamento e reiniciar após atualização de código. | Sem aceite integral | Pendente |
| JOB-015Escopo obrigatório | Agendador possui trava de execução e heartbeat; duas instâncias não disparam todas as rotinas duplicadamente. | Sem aceite integral | Pendente |
| JOB-016Escopo obrigatório | Rotinas registram última execução e falha; um cron instalado sem evidência de execução não conta como entrega. | Sem aceite integral | Pendente |
| JOB-017Escopo obrigatório | Alterar frequência e concorrência por configuração operacional, sem edição direta de código de negócio. | Sem aceite integral | Pendente |
| OBS-001Escopo obrigatório | Logs estruturados JSON com ambiente, serviço, nível, request/job ID, tenant quando aplicável e código de erro. | Sem aceite integral | Pendente |
| OBS-002Escopo obrigatório | live indica processo vivo; ready valida dependências realmente necessárias à função atendida, sem expor detalhes internos publicamente. | Sem aceite integral | Pendente |
| OBS-003Escopo obrigatório | Métricas: latência p50/p95/p99, erros, CPU/RAM/disco, conexões de banco, consultas lentas e uso do pool FPM. | Sem aceite integral | Pendente |
| OBS-004Escopo obrigatório | Métricas de negócio: checkout iniciado/concluído, pagamentos pendentes/divergentes, estoque em exceção e filas atrasadas. | Sem aceite integral | Pendente |
| OBS-005Escopo obrigatório | Métricas de jobs: tamanho, idade do item mais antigo, tentativas, falhas e tempo de execução. | Sem aceite integral | Pendente |
| OBS-006Escopo obrigatório | Alertas para webhook não processado, confirmação financeira atrasada, renovação OAuth falhando e rastreio parado. | Sem aceite integral | Pendente |
| OBS-007Escopo obrigatório | Alertas de backup vencido, cópia externa ausente, disco baixo, certificado e agendador sem heartbeat. | Sem aceite integral | Pendente |
| OBS-008Escopo obrigatório | Painel de diagnóstico para suporte exibe códigos e correlação, com acesso restrito e dados redigidos. | Sem aceite integral | Pendente |
| OBS-009Escopo obrigatório | Rotação de logs e retenção por finalidade; não permitir que observabilidade encha o disco de dados. | Sem aceite integral | Pendente |
| OBS-010Escopo obrigatório | Relatórios de incidentes registram impacto por tenant, causa, correção e prevenção com evidência. | Sem aceite integral | Pendente |
| OBS-011Escopo obrigatório | Definir canal operacional real para alertas durante implantação, sem considerar um alerta configurado se ninguém recebe. | Sem aceite integral | Pendente |
| OBS-012Escopo obrigatório | Não prometer alta disponibilidade em um único servidor; documentar o ponto único de falha e o plano de recuperação. | Sem aceite integral | Pendente |
| OPS-001Escopo obrigatório | Identificar distribuição/versão, arquitetura CPU, memória, disco livre, filesystem, firewall e serviços já instalados. | Sem aceite integral | Pendente |
| OPS-002Escopo obrigatório | Referência para dimensionamento inicial: 8 vCPU, 16 GB RAM e SSD de pelo menos 160 GB para uma carga pequena; medir e ajustar, sem tratar isso como capacidade garantida. | Sem aceite integral | Pendente |
| OPS-003Escopo obrigatório | Reservar orçamento de memória para PostgreSQL, FPM, Meili, Redis e sistema; limitar reindexação para evitar OOM. | Sem aceite integral | Pendente |
| OPS-004Escopo obrigatório | Repositório e releases em caminho dedicado, como /srv/rapido-ecommerce, com usuário de serviço próprio. | Sem aceite integral | Pendente |
| OPS-005Escopo obrigatório | Desenvolvimento, homologação e produção têm bancos, filas, índices, buckets/volumes, domínios e segredos distintos. | Sem aceite integral | Pendente |
| OPS-006Escopo obrigatório | Não usar dump com dados pessoais reais como seed de demonstração. | Sem aceite integral | Pendente |
| OPS-007Escopo obrigatório | Sincronização de horário ativa; validade de token, assinatura e certificado dependem de relógio correto. | Sem aceite integral | Pendente |
| OPS-008Escopo obrigatório | DNS e e-mail de suporte reais são parâmetros de instalação; não inferir valores a partir do nome do projeto. | Sem aceite integral | Pendente |
| OPS-009P0 | Firewall expõe apenas portas necessárias; SSH usa política existente e não pode ser bloqueado acidentalmente no deploy. | Sem aceite integral | Pendente |
| OPS-010P0 | Não publicar PostgreSQL, Redis, Meili, FPM, métricas ou API administrativa do Caddy na Internet. | Sem aceite integral | Pendente |
| OPS-011Escopo obrigatório | Imagens fixadas em versão e digest, com patch atualizado e manifesto de dependências entregue. | Sem aceite integral | Pendente |
| OPS-012Escopo obrigatório | Containers rodam sem root quando compatível, sem privilégios desnecessários, sem Docker socket e com filesystem restrito. | Sem aceite integral | Pendente |
| OPS-013Escopo obrigatório | Volumes persistentes para banco, arquivos, certificados e dados de busca; cache pode ser descartável. | Sem aceite integral | Pendente |
| OPS-014Escopo obrigatório | Healthchecks, política de restart, limites de recursos e parada graciosa configurados. | Sem aceite integral | Pendente |
| OPS-015Escopo obrigatório | publico/ é o único document root. .env, Composer, Git, logs, migrações e backups são inacessíveis por HTTP. | Sem aceite integral | Pendente |
| OPS-016Escopo obrigatório | Extensões PHP necessárias verificadas: PDO PostgreSQL, mbstring, intl, sodium, openssl, curl, fileinfo, processamento de imagem e Redis quando usado pelo cliente escolhido. | Sem aceite integral | Pendente |
| OPS-017Escopo obrigatório | FPM/OPcache configurados e recarregados na troca de release; workers reiniciam para executar o código novo. | Sem aceite integral | Pendente |
| OPS-018Escopo obrigatório | Sem permissões 777; definir dono/grupo e escrita somente onde necessário. | Sem aceite integral | Pendente |
| OPS-019Escopo obrigatório | Testar reinício completo do host/Compose e confirmar retomada de filas, agendador, certificados e persistência dos dados. | Sem aceite integral | Pendente |
| ENV-001P0 | Aplicação de produção recusa iniciar com debug, chaves padrão, placeholders e modo de simulação. | Sem aceite integral | Pendente |
| ENV-002Escopo obrigatório | Implementar parser/validador de configuração que diferencie string, inteiro, booleano e URL, sem coerção ambígua. | Sem aceite integral | Pendente |
| ENV-003Escopo obrigatório | Separar credencial de migração da credencial de runtime; não embutir senha de superusuário na imagem web. | Sem aceite integral | Pendente |
| ENV-004Escopo obrigatório | Redigir valores em qualquer diagnóstico; verificar presença e formato sem imprimir segredo. | Sem aceite integral | Pendente |
| ENV-005Escopo obrigatório | Credenciais InfinitePay/Omie por loja e aplicativo OAuth global são cadastrados no painel/cofre definido, sem espalhá-los por arquivos individuais. | Sem aceite integral | Pendente |
| DEPLOY-001Escopo obrigatório | Inventariar o host e registrar o estado anterior; criar backup de qualquer instalação afetada. | Sem aceite integral | Pendente |
| DEPLOY-002Escopo obrigatório | Preparar usuário/diretórios, rede, firewall e destino de backup sem remover serviços existentes. | Sem aceite integral | Pendente |
| DEPLOY-003Escopo obrigatório | Construir imagens a partir de código versionado e locks; não instalar dependências de desenvolvimento no runtime final. | Sem aceite integral | Pendente |
| DEPLOY-004Escopo obrigatório | Validar Compose, imagens, config, segredos e volumes antes de iniciar a aplicação pública. | Sem aceite integral | Pendente |
| DEPLOY-005Escopo obrigatório | Subir dependências, aguardar prontidão e provisionar roles de banco com privilégios mínimos. | Sem aceite integral | Pendente |
| DEPLOY-006Escopo obrigatório | Executar migrações e ambiente:verificar; não aplicar seed de demonstração em produção. | Sem aceite integral | Pendente |
| DEPLOY-007Escopo obrigatório | Criar superadmin por fluxo seguro, configurar MFA e verificar recuperação administrativa. | Sem aceite integral | Pendente |
| DEPLOY-008Escopo obrigatório | Configurar domínio central/TLS, remetente de e-mail, aplicativo Melhor Envio e política de planos. | Sem aceite integral | Pendente |
| DEPLOY-009Escopo obrigatório | Iniciar workers/agendador; confirmar execução efetiva e persistência. | Sem aceite integral | Pendente |
| DEPLOY-010Escopo obrigatório | Criar lojas de homologação isoladas, conectar domínios e validar os cenários obrigatórios. | Sem aceite integral | Pendente |
| DEPLOY-011Escopo obrigatório | Fazer backup externo e ensaio de restauração antes de aceitar operação comercial real. | Sem aceite integral | Pendente |
| DEPLOY-012Escopo obrigatório | Habilitar produção somente com checklist e dependências externas satisfeitos. | Sem aceite integral | Pendente |
| DEPLOY-013Escopo obrigatório | Pipeline roda testes, análise estática, auditoria de dependências e build antes de gerar release. | Sem aceite integral | Pendente |
| DEPLOY-014Escopo obrigatório | Identificar release por commit e manifesto de imagens/locks; guardar versão anterior. | Sem aceite integral | Pendente |
| DEPLOY-015Escopo obrigatório | Fazer snapshot/backup consistente e revisar compatibilidade das migrações antes de atualizar. | Sem aceite integral | Pendente |
| DEPLOY-016Escopo obrigatório | Preferir migrações expandir → transicionar → contrair, mantendo compatibilidade durante a troca. | Sem aceite integral | Pendente |
| DEPLOY-017Escopo obrigatório | Planejar alterações longas e índices para evitar bloquear tabelas de pedidos em horário de venda. | Sem aceite integral | Pendente |
| DEPLOY-018Escopo obrigatório | Trocar release, recarregar OPcache, reiniciar workers de forma graciosa e executar smoke tests. | Sem aceite integral | Pendente |
| DEPLOY-019Escopo obrigatório | Healthcheck malsucedido impede conclusão do deploy e inicia rollback de código quando compatível. | Sem aceite integral | Pendente |
| DEPLOY-020P0 | Rollback de código não implica apagar pedidos novos restaurando banco antigo; recuperação de dados exige plano explícito para não perder vendas. | Sem aceite integral | Pendente |
| DEPLOY-021Escopo obrigatório | Migração incompatível possui procedimento de correção progressiva ou restauração ensaiado e limite de indisponibilidade registrado. | Sem aceite integral | Pendente |
| DEPLOY-022Escopo obrigatório | Manutenção informa o comprador e preserva callbacks/inbox quando possível; reconciliação posterior cobre a janela afetada. | Sem aceite integral | Pendente |
| BKP-001P0 | Backup de PostgreSQL consistente, com base backup e arquivamento contínuo de WAL/PITR, usando ferramenta apropriada como pgBackRest ou equivalente validado. | Parcial | Parcial: Ver relatório e evidências: cópia Restic apenas local, sem aceite de cópia externa/PITR. |
| BKP-002P0 | Cópia externa ao servidor principal, com credenciais independentes e criptografia em trânsito/repouso. | Sem aceite integral | Pendente |
| BKP-003P0 | Copiar arquivos públicos/privados e registrar manifestos/checksums que permitam recuperar referências consistentes com o banco. | Sem aceite integral | Pendente |
| BKP-004P0 | Guardar configurações operacionais, certificados quando necessário e material de recuperação das chaves de criptografia, com acesso separado do banco. | Sem aceite integral | Pendente |
| BKP-005Escopo obrigatório | Retenção inicial proposta: 7 pontos diários, 4 semanais e 3 mensais, com janelas ajustadas ao volume e à política de dados. | Sem aceite integral | Pendente |
| BKP-006Escopo obrigatório | Validar a cadeia de WAL e a retenção dos arquivos de mídia necessários aos pontos de recuperação; não excluir arquivo que um backup mantido ainda referencia. | Sem aceite integral | Pendente |
| BKP-007Escopo obrigatório | Meili pode ser reconstruído; manter dump/snapshot compatível se necessário para atingir RTO. Redis cache não precisa de backup como fonte de verdade. | Sem aceite integral | Pendente |
| BKP-008Escopo obrigatório | Credencial de backup só tem poderes necessários; comprometimento do runtime web não deve permitir apagar todas as cópias externas. | Sem aceite integral | Pendente |
| BKP-009Escopo obrigatório | Job registra resultado, bytes, duração, ponto recuperável e verificação; falha gera alerta operacional. | Sem aceite integral | Pendente |
| BKP-010P0 | Fazer restauração integral em ambiente isolado antes do lançamento e periodicamente, no mínimo mensalmente na operação inicial. | Sem aceite integral | Pendente |
| BKP-011Escopo obrigatório | Medir tempo e perda real de dados no ensaio; corrigir capacidade/processo se ultrapassar RPO/RTO. | Sem aceite integral | Pendente |
| BKP-012Escopo obrigatório | Procedimento de restauração nunca envia e-mail real, cria cobrança ou sincroniza pedido duplicado com provedores durante o ensaio. | Sem aceite integral | Pendente |
| BKP-013P0 | Nunca restaurar o banco inteiro de produção para recuperar somente o tenant A e perder compras recentes do tenant B. | Sem aceite integral | Pendente |
| BKP-014Escopo obrigatório | Restaurar cópia em ambiente isolado e extrair o agregado completo do tenant, incluindo relações, arquivos, eventos e credenciais quando cabível. | Sem aceite integral | Pendente |
| BKP-015Escopo obrigatório | Reconciliar referências globais, UUIDs, domínios e integrações antes de importar seletivamente. | Sem aceite integral | Pendente |
| BKP-016Escopo obrigatório | Definir estratégia de mesclagem temporal e proteção contra duplicar pedidos/pagamentos; recuperação seletiva exige revisão operacional explícita. | Sem aceite integral | Pendente |
| BKP-017Escopo obrigatório | Registrar o que foi recuperado e testar acesso A/B após a operação. | Sem aceite integral | Pendente |
| QA-001Escopo obrigatório | Testes unitários para dinheiro/arredondamento, promoções, estados, autorização, validade de tokens e regras de reservas. | Sem aceite integral | Pendente |
| QA-002Escopo obrigatório | Integração com PostgreSQL real, usando as mesmas roles/políticas de produção para validar RLS, FKs, transações e concorrência. | Sem aceite integral | Pendente |
| QA-003Escopo obrigatório | Testes com Redis real para locks, rate limit, sessão e recuperação de filas. | Sem aceite integral | Pendente |
| QA-004Escopo obrigatório | Testes com Meilisearch real para filtros, publicação, isolamento e reindexação. | Sem aceite integral | Pendente |
| QA-005Escopo obrigatório | Contratos de provedores usando fixtures sanitizadas e formato compatível com a documentação vigente; registrar origem e data. | Sem aceite integral | Pendente |
| QA-006Escopo obrigatório | E2E em navegador cobrindo administração, convidado, acompanhamento, suspensão e domínios distintos. | Sem aceite integral | Pendente |
| QA-007Escopo obrigatório | Em E2E local, usar adaptador de pagamento de teste isolado e explicitamente proibido em produção. | Sem aceite integral | Pendente |
| QA-008Escopo obrigatório | Homologação externa em ambiente apropriado; InfinitePay exige teste financeiro real controlado porque o contrato consultado não oferece sandbox. | Sem aceite integral | Pendente |
| QA-009Escopo obrigatório | Concorrência real em compra de última unidade, reserva de cupom, callback repetido e refresh token. | Sem aceite integral | Pendente |
| QA-010Escopo obrigatório | Testes de recuperação: falha entre commit/publicação, falha depois do provedor, reinício de worker e perda do cache. | Sem aceite integral | Pendente |
| QA-011Escopo obrigatório | Análise estática, estilo consistente, auditoria Composer e verificação de segredos antes de release. | Sem aceite integral | Pendente |
| QA-012Escopo obrigatório | Validação visual dos 50 modelos, telas críticas e mensagens de erro em desktop/celular. | Sem aceite integral | Pendente |
| QA-013Escopo obrigatório | Não contar um mock de provedor como homologação do provedor; registrar os resultados em colunas separadas. | Sem aceite integral | Pendente |
| QA-014Escopo obrigatório | Não usar SQLite para afirmar que concorrência, RLS e comportamento do PostgreSQL foram testados. | Sem aceite integral | Pendente |
| QA-015Escopo obrigatório | Pipeline reproduz testes a partir de ambiente limpo, sem depender de arquivos fora do repositório. | Sem aceite integral | Pendente |
| PERF-001Escopo obrigatório | Registrar hardware, versões, massa de dados, script, concorrência e percentis; não reportar apenas média. | Sem aceite integral | Pendente |
| PERF-002Escopo obrigatório | Medir latência externa separadamente da aplicação para explicar o impacto do gateway/frete/e-mail. | Sem aceite integral | Pendente |
| PERF-003Escopo obrigatório | Perfis de carga e imagens não disparam pagamentos reais nem spam. | Sem aceite integral | Pendente |
| PERF-004Escopo obrigatório | Investigar consultas lentas, N+1, ausência de índices e uso de memória antes de ampliar infraestrutura. | Sem aceite integral | Pendente |
| PERF-005Escopo obrigatório | Testar importação/reindexação em paralelo à navegação, com limites que preservem checkout. | Sem aceite integral | Pendente |
| PERF-006Escopo obrigatório | Alterar metas somente com justificativa registrada e avaliação do impacto; não reduzir o teste para esconder falha. | Sem aceite integral | Pendente |
| FASE-00AEscopo obrigatório | Inventário de servidor/repositório, decisões pendentes e dependências externas registradas. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, PLANO_EXECUCAO.md, DECISOES.md e PENDENCIAS_EXTERNAS.md; gate de descoberta registrado. Resultado: aprovado. |
| FASE-00BEscopo obrigatório | Plano de execução com escopo, paths, checklist e proteção de dados existentes. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, PLANO_EXECUCAO.md, DECISOES.md e PENDENCIAS_EXTERNAS.md; gate de descoberta registrado. Resultado: aprovado. |
| FASE-00CEscopo obrigatório | Domínios, contatos, capacidade e ambiente de homologação definidos ou explicitamente pendentes. | Aceito em homologação | Homologação, 09/11/2026: docs/INVENTARIO.md, PLANO_EXECUCAO.md, DECISOES.md e PENDENCIAS_EXTERNAS.md; gate de descoberta registrado. Resultado: aprovado. |
| FASE-01AEscopo obrigatório | Repositório, Composer, núcleo HTTP/CLI, config validada e estrutura modular. | Aceito em homologação | Homologação, 09/11/2026: compose.yml, composer.lock, Nucleo/ e banco/migracoes/; testes/FundacaoTest.php, FluxosTest.php e e2e.py, gate da fundação aprovado. Resultado: aprovado. |
| FASE-01BEscopo obrigatório | PostgreSQL, roles, migrações, RLS, contexto e FKs compostas. | Aceito em homologação | Homologação, 09/11/2026: compose.yml, composer.lock, Nucleo/ e banco/migracoes/; testes/FundacaoTest.php, FluxosTest.php e e2e.py, gate da fundação aprovado. Resultado: aprovado. |
| FASE-01CEscopo obrigatório | Diretório de tenants/domínios e testes de negação cruzada com duas lojas sintéticas. | Aceito em homologação | Homologação, 09/11/2026: compose.yml, composer.lock, Nucleo/ e banco/migracoes/; testes/FundacaoTest.php, FluxosTest.php e e2e.py, gate da fundação aprovado. Resultado: aprovado. |
| FASE-02AEscopo obrigatório | Login, recuperação, MFA, RBAC, vínculos, sessões e convites. | Sem aceite integral | Pendente |
| FASE-02BEscopo obrigatório | Superadmin, criação/ativação/suspensão, planos, quotas e auditoria. | Sem aceite integral | Pendente |
| FASE-02CEscopo obrigatório | Rotas /adm/{slug}, acesso central e onboarding PF/MEI/PJ. | Sem aceite integral | Pendente |
| FASE-03AEscopo obrigatório | Produtos/variantes, categorias, marcas, atributos e mídia segura. | Sem aceite integral | Pendente |
| FASE-03BEscopo obrigatório | Locais, movimentos, saldos e reserva concorrente. | Sem aceite integral | Pendente |
| FASE-03CEscopo obrigatório | Importação/exportação idempotente e telas completas. | Sem aceite integral | Pendente |
| FASE-04AEscopo obrigatório | Vitrine, páginas de produto/categoria/busca/carrinho e SEO. | Sem aceite integral | Pendente |
| FASE-04BEscopo obrigatório | Dez tipos de seção com cinco modelos cada, rascunho, prévia, publicação e rollback. | Sem aceite integral | Pendente |
| FASE-04CEscopo obrigatório | Domínio próprio, temporário e TLS validados sem compartilhar sessão do painel. | Sem aceite integral | Pendente |
| FASE-05AEscopo obrigatório | Cliente comercial, conta opcional, OTP e acompanhamento restrito. | Sem aceite integral | Pendente |
| FASE-05BEscopo obrigatório | Precificação, frete, pedido snapshot, reservas e idempotência. | Sem aceite integral | Pendente |
| FASE-05CEscopo obrigatório | InfinitePay real, inbox, confirmação ativa, exceções e conciliação. | Sem aceite integral | Pendente |
| FASE-06AEscopo obrigatório | Retirada, entrega própria, Melhor Envio OAuth, cotação e etiquetas. | Sem aceite integral | Pendente |
| FASE-06BEscopo obrigatório | Rastreio, notificações, atendimento, cancelamento/devolução e fluxo de reembolso realista. | Sem aceite integral | Pendente |
| FASE-06CEscopo obrigatório | Pendências documentais específicas e arquivos privados. | Sem aceite integral | Pendente |
| FASE-07AEscopo obrigatório | Omie seletivo, fonte de verdade, mapeamentos e retomada. | Sem aceite integral | Pendente |
| FASE-07BEscopo obrigatório | Meili isolado, reindexação, fallback e diagnóstico. | Sem aceite integral | Pendente |
| FASE-07CEscopo obrigatório | Cupons/promoções/combos com limites, rateio e relatórios. | Sem aceite integral | Pendente |
| FASE-08AEscopo obrigatório | Relatórios, exportações, auditoria, privacidade e gestão de equipe completos. | Sem aceite integral | Pendente |
| FASE-08BEscopo obrigatório | API v1 com escopos, limites, OpenAPI e testes de isolamento. | Sem aceite integral | Pendente |
| FASE-08CEscopo obrigatório | Revisão da interface em PT-BR e atendimento em todos os estados de operação. | Sem aceite integral | Pendente |
| FASE-09AEscopo obrigatório | Compose/serviços/segredos/TLS, filas, agendador e alertas. | Sem aceite integral | Pendente |
| FASE-09BEscopo obrigatório | Backup externo, restauração completa/seletiva e runbooks ensaiados. | Sem aceite integral | Pendente |
| FASE-09CEscopo obrigatório | Deploy de atualização e rollback compatível com dados preservados. | Sem aceite integral | Pendente |
| FASE-10AEscopo obrigatório | Executar matriz completa, testes de carga e revisão de segurança aplicável. | Sem aceite integral | Pendente |
| FASE-10BEscopo obrigatório | Homologar provedores, DNS, e-mail e cenários operacionais com configurações reais. | Sem aceite integral | Pendente |
| FASE-10CEscopo obrigatório | Entregar relatório final de requisitos/evidências, pendências externas e instruções ao operador. | Sem aceite integral | Pendente |
| ENT-001Escopo obrigatório | Código-fonte completo, versionado, sem segredos e com instruções de build. | Sem aceite integral | Pendente |
| ENT-002Escopo obrigatório | Migrações, roles, políticas RLS, constraints e seeds sintéticos segregados. | Sem aceite integral | Pendente |
| ENT-003Escopo obrigatório | Templates e componentes reais para vitrine, painel e superadmin. | Sem aceite integral | Pendente |
| ENT-004Escopo obrigatório | Editor com os 50 modelos, configuração versionada e instruções de manutenção. | Sem aceite integral | Pendente |
| ENT-005Escopo obrigatório | Adaptadores de InfinitePay, Melhor Envio e Omie com testes de contrato, diagnóstico e limitações declaradas. | Sem aceite integral | Pendente |
| ENT-006Escopo obrigatório | Workers, agendador, inbox/outbox, recuperação e fila de falhas. | Sem aceite integral | Pendente |
| ENT-007Escopo obrigatório | Compose/imagens/configs operacionais e .env.example sem credenciais reais. | Sem aceite integral | Pendente |
| ENT-008Escopo obrigatório | Scripts de instalação, migração, backup, restauração e atualização compatíveis com o ambiente real. | Sem aceite integral | Pendente |
| ENT-009Escopo obrigatório | Testes automatizados e massa sintética reproduzível com pelo menos dois tenants. | Sem aceite integral | Pendente |
| ENT-010Escopo obrigatório | Evidências sanitizadas de E2E, concorrência, provedores, domínios e recuperação. | Sem aceite integral | Pendente |
| ENT-011Escopo obrigatório | OpenAPI e exemplos de consumo com valores fictícios claramente identificados. | Sem aceite integral | Pendente |
| ENT-012Escopo obrigatório | Inventário de dependências, versões, licenças, imagens e portas/volumes. | Sem aceite integral | Pendente |
| ENT-013Escopo obrigatório | README com instalação, pré-requisitos, comandos, fluxo de primeira utilização e validação de saúde. | Sem aceite integral | Pendente |
| ENT-014Escopo obrigatório | Manual do lojista: produtos, aparência, clientes, pedidos, recebimentos, entrega, devolução e integrações. | Sem aceite integral | Pendente |
| ENT-015Escopo obrigatório | Manual do superadmin: tenants, planos, suspensão, suporte assistido, provedores e auditoria. | Sem aceite integral | Pendente |
| ENT-016Escopo obrigatório | Runbooks: perda de banco, falha de pagamento, estoque divergente, domínio/TLS, OAuth expirado, fila parada e rollback. | Sem aceite integral | Pendente |
| ENT-017Escopo obrigatório | docs/DECISOES.md com decisões e alterações de escopo justificadas. | Sem aceite integral | Pendente |
| ENT-018Escopo obrigatório | docs/RELATORIO_VALIDACAO.md com requisito, evidência, ambiente, versão e resultado. | Sem aceite integral | Pendente |
| ENT-019Escopo obrigatório | docs/PENDENCIAS_EXTERNAS.md atualizado, sem item obrigatório escondido. | Sem aceite integral | Pendente |
| ENT-020Escopo obrigatório | Checklist final preenchido e demonstração ponta a ponta com duas lojas independentes. | Sem aceite integral | Pendente |
| DONE-001P0 | Instalação do zero e atualização de versão reproduzíveis no servidor de destino. | Sem aceite integral | Pendente |
| DONE-002P0 | Nenhum segredo padrão, debug aberto, porta interna pública ou modo simulado em produção. | Sem aceite integral | Pendente |
| DONE-003P0 | Duas lojas operacionais com dados distintos, domínios independentes e painéis centrais corretos. | Sem aceite integral | Pendente |
| DONE-004P0 | Trocar slug, host, ID, token, índice, arquivo ou payload não cruza o isolamento. | Sem aceite integral | Pendente |
| DONE-005P0 | RLS/FKs/roles e autorização de objeto testadas com credenciais de runtime. | Sem aceite integral | Pendente |
| DONE-006P0 | Superadmin com MFA ativa/suspende/reativa tenant com auditoria e política operacional consistente. | Sem aceite integral | Pendente |
| DONE-007P1 | PF, MEI e PJ recebem todos os recursos do mesmo plano, com onboarding adequado. | Sem aceite integral | Pendente |
| DONE-008P1 | Catálogo, variantes, mídia, categorias, preços e importação persistem e são administráveis. | Sem aceite integral | Pendente |
| DONE-009P1 | Todos os 50 modelos editáveis estão implementados, com prévia, publicação, histórico e responsividade. | Sem aceite integral | Pendente |
| DONE-010P1 | Clientes cadastrados e convidados aparecem corretamente no painel de sua loja. | Sem aceite integral | Pendente |
| DONE-011P0 | Convidado compra sem senha/conta, verifica e-mail e acessa apenas compras autorizadas. | Sem aceite integral | Pendente |
| DONE-012P0 | Dados necessários à entrega/pagamento são coletados sem transformar compra em cadastro obrigatório de conta. | Sem aceite integral | Pendente |
| DONE-013P0 | Checkout idempotente recalcula preços/frete, valida loja e reserva estoque transacionalmente. | Sem aceite integral | Pendente |
| DONE-014P0 | InfinitePay recebe na conta correta, confirma por API e trata duplicidade, timeout e pagamento tardio. | Sem aceite integral | Pendente |
| DONE-015P0 | Nenhuma aprovação se baseia somente em retorno do navegador ou webhook não conferido. | Sem aceite integral | Pendente |
| DONE-016P1 | Retirada/entrega própria e Melhor Envio cumprem os cenários configurados, com etiquetas/rastreio reais quando habilitados. | Sem aceite integral | Pendente |
| DONE-017P1 | Omie opcional funciona nos módulos selecionados, sem duplicar pedidos nem violar origem de verdade. | Sem aceite integral | Pendente |
| DONE-018P1 | Cupons, promoções, combos e vários locais respeitam preços, limites e estoque. | Sem aceite integral | Pendente |
| DONE-019P1 | Documentos/políticas e pendências aplicáveis têm fluxo real e não bloqueiam genericamente personalização de PF. | Sem aceite integral | Pendente |
| DONE-020P1 | Notificações e rastreio chegam pelo canal configurado, com falhas diagnosticáveis e sem marketing forçado. | Sem aceite integral | Pendente |
| DONE-021P1 | Relatórios reconciliam valores e distinguem estorno/duplicidade/frete/taxas conhecidas. | Sem aceite integral | Pendente |
| DONE-022P1 | API, equipe, permissões, exportações e auditoria funcionam com escopo e limites. | Sem aceite integral | Pendente |
| DONE-023P0 | Suspensão impede novas operações vedadas e não perde pagamentos em andamento ou histórico legítimo. | Sem aceite integral | Pendente |
| DONE-024P0 | Filas e agendador continuam corretos após reinício, duplicação de evento e perda do transporte Redis. | Sem aceite integral | Pendente |
| DONE-025P0 | Backup externo e restauração integral foram executados; metas medidas e resultado documentado. | Sem aceite integral | Pendente |
| DONE-026P0 | Recuperação seletiva tem procedimento validado sem afetar outros tenants. | Sem aceite integral | Pendente |
| DONE-027P0 | Atualização/rollback não apaga compras novas nem expõe role de migração ao runtime. | Sem aceite integral | Pendente |
| DONE-028P1 | Telas críticas funcionam em celular, com teclado, erros claros e conteúdo em PT-BR. | Sem aceite integral | Pendente |
| DONE-029P0 | Cenários da matriz executados; falhas obrigatórias corrigidas e novamente verificadas. | Sem aceite integral | Pendente |
| DONE-030P0 | Homologações externas necessárias concluídas com evidência, e limitações remanescentes aceitas como alteração explícita de escopo. | Sem aceite integral | Pendente |
| DONE-031P1 | Documentação, runbooks, dependências, versões e contatos operacionais entregues. | Sem aceite integral | Pendente |
| DONE-032P0 | Relatório final distingue o que foi implementado, testado localmente, homologado externamente e observado em produção. | Sem aceite integral | Pendente |