Pular para o conteúdo

Docs Vault

O repositório utiliza um Docs Vault para proteger documentos sensíveis (arquitetura interna, endpoints, deploy procedures, secrets). Documentos criptografados são armazenados como .md.enc e só podem ser lidos com a chave privada.

PropriedadeValor
CriptografiaRSA 4096 + AES-256-CBC (envelope encryption)
Chave públicascripts/vault/profarma-vault.pub.pem (no repo)
Chave privadakeys/profarma-vault.priv.pem (local only, gitignored)
Manifestoscripts/vault/MANIFEST.txt (lista de docs protegidos)
Total de docs18 documentos criptografados

flowchart LR
    subgraph ENC["Encrypt"]
        direction TB
        E1["1. Gera AES key<br/>aleatória 256-bit"] --> E2["2. Encripta doc<br/>com AES-256-CBC"]
        E2 --> E3["3. Encripta AES key<br/>com RSA 4096<br/>chave pública"]
        E3 --> E4["4. Armazena<br/>.md.enc"]
    end
    subgraph DEC["Decrypt"]
        direction TB
        D1["1. Lê RSA-encrypted<br/>AES key do .enc"] --> D2["2. Decripta AES key<br/>com RSA 4096<br/>chave privada"]
        D2 --> D3["3. Decripta conteúdo<br/>com AES-256-CBC"]
        D3 --> D4["4. Resultado<br/>.md plaintext"]
    end
    E4 -. ".md.enc" .-> D1
    style ENC fill:#0a1628,stroke:#00aaaf,stroke-width:2px,color:#e0e6f0
    style DEC fill:#0a1628,stroke:#22c55e,stroke-width:2px,color:#e0e6f0
    style E1 fill:#1a2744,stroke:#00aaaf,color:#e0e6f0
    style E2 fill:#1a2744,stroke:#00aaaf,color:#e0e6f0
    style E3 fill:#1a2744,stroke:#00aaaf,color:#e0e6f0
    style E4 fill:#00aaaf,stroke:#008a8e,color:#fff
    style D1 fill:#1a2744,stroke:#22c55e,color:#e0e6f0
    style D2 fill:#1a2744,stroke:#22c55e,color:#e0e6f0
    style D3 fill:#1a2744,stroke:#22c55e,color:#e0e6f0
    style D4 fill:#22c55e,stroke:#16a34a,color:#fff
  • Chave privada nunca entra no repositório (keys/ está 100% no .gitignore)
  • Chave pública permite criptografar (qualquer dev), mas não decriptar
  • Manifesto público lista quais docs estão protegidos

Terminal window
# 1. Obtenha a chave privada (via canal seguro)
# 2. Coloque na pasta keys/
cp ~/profarma-vault.priv.pem keys/
# 3. Pronto — scripts auto-detectam a chave
Terminal window
# Todos os docs sensíveis
./scripts/vault-decrypt.sh
# Apenas uma pasta
./scripts/vault-decrypt.sh docs/security/
# Um arquivo específico
./scripts/vault-decrypt.sh docs/deploy/DEPLOY.md
Terminal window
./scripts/vault-encrypt.sh

DocumentoDescrição
ATTACK_SURFACE_INVENTORY.mdInventário de 56 endpoints
PENTEST_READINESS_PACK.mdPack de preparação para pentest
LEGALIZATION_TRACKING.mdTracking de legalização (15/15 concluído)
FRONTEND_PENTEST_QA_CHECKLIST.mdQA checklist frontend
DocumentoDescrição
PROFARMA_APPS_OVERVIEW.mdVisão geral da plataforma
GOLDEN_STATUS_REFERENCE.mdReferência de secrets e bindings
DocumentoDescrição
DEPLOY.mdProcesso de deploy
DEPLOY_MANUAL.mdDeploy manual com secrets
DocumentoDescrição
Captain docs (7)PRDs, arquitetura geoespacial
Optimizer docs (24)AirOps, VTEX, testes
Ciclos docs (8)Design system, WebSocket

Para obter a chave privada do vault:

  1. Envie solicitação para admin@profarma.dev (ver Solicitar Acesso)
  2. A chave será entregue via canal seguro
  3. Nunca compartilhe a chave por chat, Slack ou email não-criptografado