Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.engineapi.com.br/llms.txt

Use this file to discover all available pages before exploring further.

Segurança

A Engine API lida com dados fiscais sensíveis e certificados digitais. Levamos segurança a sério em todas as camadas da infraestrutura.

Encriptação

TLS 1.3 em trânsito, AES-256 em repouso

Isolamento

Dados segregados por Partner e Issuer

Compliance

Aderência à LGPD e padrões fiscais

Certificados digitais

Armazenamento seguro

Os certificados A1 (.pfx) dos seus clientes são tratados com o mais alto nível de proteção:
AspectoImplementação
UploadVia HTTPS (TLS 1.3). Certificado nunca trafega em texto plano
ArmazenamentoEncriptado com AES-256 usando chave rotacionada
AcessoSomente o serviço de emissão fiscal acessa o certificado, em memória
ExposiçãoA API nunca retorna o conteúdo do certificado. Apenas metadados
RemoçãoEndpoint DELETE /v1/companies/:id/certificate remove permanentemente
Certificados A1 são arquivos sensíveis. Nunca armazene a senha do certificado em código-fonte, logs ou variáveis de ambiente expostas. Use um vault de secrets (AWS Secrets Manager, HashiCorp Vault, etc.).

Validade e renovação

// Verificar status do certificado
const cert = await client.companies.buscar('ISSUER_UUID');
console.log('Válido até:', cert.data.certificateExpiresAt);
Recomendamos configurar um webhook para ser notificado quando um certificado está próximo do vencimento.

Autenticação

API Keys

CaracterísticaImplementação
Formatoek_live_UUID (prefixo identificável)
HashArmazenada como hash bcrypt. Impossível recuperar
RotaçãoCrie quantas keys quiser, revogue as antigas
ExposiçãoO valor completo é mostrado apenas na criação
// Criar nova API Key
const key = await client.auth.criarApiKey();
console.log('Salve esta chave:', key.data.key); // Único momento que aparece

JWT (sessões de dashboard)

CaracterísticaImplementação
AlgoritmoHS256 com secret rotacionado
Expiração24 horas
RefreshVia re-login

Infraestrutura

Stack de segurança

CamadaTecnologia
Proxy reversoNginx com TLS 1.3, HSTS, rate limiting
ApplicationNestJS com Helmet.js (headers de segurança)
AutenticaçãoPassport.js (JWT + API Key strategies)
ValidaçãoZod schemas + class-validator em cada endpoint
DatabasePostgreSQL 16 com conexões encriptadas
ContainerDocker com user não-root, read-only filesystem
MonitoramentoSentry para error tracking, Prometheus para métricas

Headers de segurança

Todas as respostas incluem headers de segurança via Helmet.js:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 0
Content-Security-Policy: default-src 'self'
Referrer-Policy: strict-origin-when-cross-origin

LGPD e proteção de dados

Dados coletados

DadoPropósitoRetenção
CNPJ/CPFEmissão fiscal (obrigatório por lei)Enquanto a conta estiver ativa
Certificado A1Assinatura digital junto à SEFAZAté remoção pelo partner
EndereçosComposição do XML fiscalEnquanto a conta estiver ativa
Logs de acessoAuditoria e troubleshooting90 dias

Direitos do titular

DireitoComo exercer
AcessoGET /v1/companies/:id retorna todos os dados
CorreçãoPATCH /v1/companies/:id atualiza dados
ExclusãoDELETE /v1/companies/:id remove empresa e dados
PortabilidadeDownload de XMLs via endpoints de download
A Engine API atua como operadora de dados. O Partner (Software House) é o controlador perante a LGPD. O Partner é responsável por obter consentimento do titular antes de enviar dados para a API.

Boas práticas

  • Nunca exponha a API Key em código frontend
  • Use variáveis de ambiente no servidor
  • Rotacione keys periodicamente
  • Revogue keys comprometidas imediatamente
  • Verifique a validade do certificado (.pfx) antes de enviar
  • Configure alertas para certificados próximos do vencimento
  • Mantenha um processo de renovação documentado
  • Acompanhe o consumo via dashboard
  • Configure webhooks para eventos de erro
  • Use os headers X-RateLimit-* para evitar throttling
  • Sempre teste em homologação antes de ir para produção
  • Use dados fictícios em testes
  • Nunca use certificados de produção em homologação

Próximos passos

Rate Limits

Limites de uso e como evitar throttling

Multitenancy

Arquitetura B2B2B e isolamento de dados