Pular para o conteúdo principal

CipherVault 4.8 — AI Copilot, SaaS billing, Zero-Knowledge vault e Browser extension

· 6 min para ler
Rafael Martinez
CEO & Co-founder, CipherVault

70 commits desde a v4.7. A maior expansão de superfície produto desde a v4.0. A v4.8 traz cinco eixos novos ao mesmo tempo: AI Copilot multi-provider, SaaS multi-tenant com Stripe, Zero-Knowledge vault opt-in, Browser extension MV3 Chrome+Firefox e PQC V2 com hybrid key-wrap + dual-sign + KMIP PQC. Mais: dual-licensing (Apache 2.0

  • AGPL + commercial) e hardening Nuclei zero-vulns.

🤖 AI Copilot — multi-provider, RAG-grounded, redactor (5 fases)

O Copilot do CipherVault é um assistente de segurança plugável a 4 backends LLM, com redactor obrigatório em todos os prompts (PII, secrets, tokens, IPs internos mascarados antes de sair do CV) e cost meter per-tenant com observabilidade Prometheus.

Providers suportados:

ProviderUse caseAuth
OpenAISaaS defaultAPI key
Azure OpenAIEnterprise compliance / data residencyAPI key + endpoint
AWS Bedrock (Claude)AWS-native, IAM-drivenIRSA / IAM role
OllamaSelf-hosted, air-gaplocal URL

5 capabilities expostas (endpoints REST):

POST /copilot/explain-risk { secret_id }
POST /copilot/summarize-path { attack_path_id }
POST /copilot/validation-tasks { vault_id, policy }
POST /copilot/chat { messages: [...] }
POST /copilot/generate-code { language, prompt } ← com lint guard-rails + RAG

generateCode passa por lint pré-resposta (rejeita código com secrets hard-coded) e usa RAG vector store indexando docs do CV para respostas grounded ao produto.

UI chat widget (PR #334) — Floating button + slide-over com streaming tokens, history per-tenant, citation chips.

Opt-in via env:

export CV_COPILOT_PROVIDER=openai # ou: azure-openai, bedrock-claude, ollama
export OPENAI_API_KEY=sk-...

Documentação completa →

💳 SaaS multi-tenant + Stripe billing (6 fases)

CipherVault.com.br como SaaS gerenciado. Stack:

  • Stripe billing foundation — products / prices / webhook handler /billing/webhook / customer→tenant mapping / subscription lifecycle
  • Public signupPOST /saas/signup, email verify token, resend flow
  • Tier enforcement middlewarerequireTier('professional'|'enterprise') em routes feature-gated; GET /saas/tier retorna tier atual + quotas + grace period
  • Operator runbook + status page scaffold
  • Signup page UI — landing → Stripe Checkout → activate tenant
  • Legal templates — SLA, DPA (GDPR Art. 28), ToS, Privacy Policy gerados em etc/legal/ com placeholders por jurisdição (BR LGPD + EU GDPR)

Documentação completa →

🔒 Zero-Knowledge vault opt-in (5 fases)

Bitwarden-style E2EE para tenants regulados. Server nunca vê plaintext de secret values — só metadados (name, path, tags) e blob opaco cifrado client-side.

  • Marca vaults.is_zero_knowledge=true (flag one-way; flip post-create recusado com ZK_FLAG_IMMUTABLE)
  • Wire envelope: zk:v1:<algo>:<kdf>:<salt>:<iv>:<ct>:<tag>
  • Algos: aes-256-gcm ou xchacha20-poly1305. KDFs: argon2id (recommended) ou hkdf-sha256
  • Server-side ops impossíveis (tokenize/EaaS/encrypt/search-content) recusam com ZkBoundaryViolation HTTP 409
  • SDK cliente @ciphervault/zk-sdk — browser + Node CLI cv-zk
  • UI unlock flowZkUnlockDialog + in-memory keystore + auto-attach em SecretForm/SecretViewDialog via useVaultForSecret hook

Trade-offs explícitos (documentados em doc/ZERO_KNOWLEDGE.md):

  • Search server-side limita-se a metadata
  • Audit registra who/when/op nunca what/diff
  • Recovery impossível se passphrase perdida — server não decriptografa

Documentação completa →

🌐 Browser Extension MV3 — Chrome + Firefox (7 fases)

Manifest V3 native, build separado pra cada navegador:

  • Secret list + search + click-to-copy com auto-clear clipboard 30s
  • ZK unlock + decrypt on reveal via @ciphervault/zk-sdk no popup
  • Autofill content script com campo-by-campo highlight
  • Capture-on-submit — intercepta <form> submit, popup oferece salvar como secret
  • Auto-lock timer configurável (idle timeout)
  • Password generator com 6 perfis (alfa, alfa-num, simbólico, PIN, passphrase, custom)
  • Firefox portdist-firefox/ com browser_specific_settings

Disponível em:

  • Chrome Web Store: pendente review
  • Firefox AMO: pendente listing
  • Self-host: build em tools/browser-extension/dist/ ou dist-firefox/

Documentação completa →

🛡️ PQC V2 — Hybrid wrap + Dual-sign + KMIP PQC (5 fases)

Expansão sobre v4.5 PQC. Foco em híbrido sempre (clássico ⊕ post-quantum) — quebra de um algoritmo não compromete o outro.

Novos endpoints:

POST /pqc/hybrid-classical/wrap AES-256-GCM key wrap híbrido
POST /pqc/hybrid-classical/unwrap (RSA-OAEP-2048 ou ECDH-P256 + ML-KEM-768)

POST /pqc/dual-sign/sign Assina simultaneamente RSA-PSS-3072 + ML-DSA-65
POST /pqc/dual-sign/verify Verifier exige AMBAS válidas

KMIP PQC objects: clientes KMIP podem Create objetos ML-KEM + ML-DSA via TTLV — primeira implementação KMIP 1.4 com PQC no mercado open-source.

Audit Merkle checkpoint signed: snapshot horário em pqc_audit_checkpoints com RSA-PSS-3072 + ML-DSA-87 dual signature (nível highest pra audit trail compliance regulada).

Documentação completa →

🔬 Anomaly ML V2 (3 fases — shadow mode + ensemble)

V1 (heurística baseline) continua default. V2 introduz:

  • Phase 1 — null-fallback scaffold em mlV2/
  • Phase 2 — shadow mode wiring + V1/V2 comparison logs
  • Phase 3 — ensemble OR + V2-only modes (env CV_ANOMALY_ML_VERSION=v1|shadow|v2|ensemble)

Permite experimentação A/B do detector novo sem afetar production decisioning.

📜 Dual-licensing (Apache 2.0 + AGPL + Commercial)

Triângulo de licenciamento pra serviar 3 perfis de adopter:

LicençaQuem usaPermissões
Apache 2.0 (default)OSS contribs, projetos comerciais "discretos"Use, modify, redistribuir; sem obrigação de open-source de derivativos
AGPL-3.0 (opt-in)Quem quer copyleft fortes pra prevenir "SaaS leeching"Forks que rodem como serviço devem abrir código
CommercialEnterprise que querem isenção de AGPL + warrantyTermos negociados; template em LICENSE-COMMERCIAL.template.md

LICENSING.md é guia de decisão. NOTICE lista components AGPL opcionais.

🔐 Security hardening Nuclei (5 PRs)

Baseline Nuclei 2026-05 zero vulns. Hardening implementado:

  • CloudFront security headers policy (HSTS preload, CSP report-only → enforced, X-Frame-Options DENY, Permissions-Policy)
  • DMARC TXT record + DKIM via Titan (procedure documentada)
  • DNSSEC Route 53 + DS no Registro.br
  • Email obfuscator JS snippet (mailto bot protection)
  • Nginx local headers + ports loopback-only

⚠️ Breaking changes

  • Storage: vaults criados com is_zero_knowledge=true recusam tokenize / encrypt / search-content server-side com ZkBoundaryViolation HTTP 409. Apps que dependiam dessas ops em todos os vaults precisam checar a flag antes.
  • Licensing: default mudou para Apache 2.0. AGPL agora é opt-in via LICENSE-AGPL.md. Usuários que importavam o repo sob assumption MIT/BSD devem ler LICENSING.md.
  • Copilot opt-in: nenhum provider habilitado por default. Requer CV_COPILOT_PROVIDER=... + credenciais.

Atualizando

# Self-hosted Helm
helm upgrade ciphervault ciphervault/ciphervault --version 4.8.0 \
--reuse-values

# Migrate schema (is_zero_knowledge, pqc_audit_checkpoints, subscriptions tables)
kubectl exec deploy/ciphervault-backend -- node migrate.js up

# Copilot (opcional)
export CV_COPILOT_PROVIDER=openai
export OPENAI_API_KEY=sk-...

# Browser extension self-host
cd tools/browser-extension && npm run build # Chrome
cd tools/browser-extension && npm run build:firefox # Firefox

Testes

+280 testes novos. Total agora > 2180 testes.

— Rafael Martinez, CEO