omni-token-economy/docs/compliance.md
Jesse Freitas 5fc3ea3d2d feat: initial release — omni-token-economy v0.1.0 (clean, zero secrets)
Biblioteca universal de compactação de tokens para aplicações LLM.
Zero lock-in de backend — funciona com qualquer dict/object + regras declarativas.

Core API (paridade TS ↔ Python):

- compactRecord / compact_record — remove redundância via regras declarativas
- compactRecords / compact_records — map em lista
- compressContext / compress_context — adaptive: top-N verbatim + summary pro resto
- compactSecret / compact_secret — whitelist only, valor NUNCA sai (A.8.12)
- estimateTokens, detectRedundancy, compactTimestamp — helpers

Testes: 27 TS (vitest) + 27 Py (pytest). Fixtures sanitizadas — todos os valores
de teste usam placeholders FAKE_TEST_TOKEN_DO_NOT_USE obviamente fake.

Regra cardinal #5 (CLAUDE.md): fixtures jamais contêm credencial real.

Compliance ISO 27001 / OmniForge baseline:
- A.8.10 (exclusão de info desnecessária) — função primária
- A.8.11 (mascaramento) — compact_secret whitelist-only
- A.8.12 (prevenção de vazamento) — impossível retornar valor de secret
- A.8.25/28/29 (dev seguro, codificação, testes) — SDD + TDD + paridade

Stack:
- TypeScript: Node 24+, ESM, vitest — zero runtime deps
- Python: 3.11+, pytest, hatchling — zero runtime deps
- CI: lint + test × (3.11, 3.12, 3.13) + gitleaks + CodeQL + benchmark

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 01:35:25 -03:00

55 lines
2.6 KiB
Markdown

# Compliance — omni-token-economy
Adesão ao baseline [`skills_transformers/shared/compliance-baseline.md`](https://github.com/jessefreitas/skills_transformers/blob/main/shared/compliance-baseline.md).
## 1. Classificação de dados manipulados
| Dado | Classe | Regra |
|---|---|---|
| Entradas (dicts/objetos que o usuário passa) | depende do contexto de quem chama | a lib não persiste, só transforma in-memory |
| Output compactado | mesma classe do input | paridade preservada |
| Telemetria emitida (bytes, tokens, %) | pública | estatística agregada, sem conteúdo |
| Valor de secret em `compact_secret` | restrita — **nunca sai no output** | A.8.12 enforcement |
## 2. Controles ISO 27001 Annex A
- [x] **A.8.10** — Exclusão de informação desnecessária. Função primária da lib.
- [x] **A.8.11** — Mascaramento. `compact_secret` whitelist-only. Telemetria nunca inclui conteúdo.
- [x] **A.8.12** — Prevenção de vazamento. Impossível (by design) `compact_secret` retornar o valor.
- [x] **A.8.25** — Ciclo de desenvolvimento seguro. SDD + TDD + paridade TS/Py com testes.
- [x] **A.8.28** — Codificação segura. Funções puras, sem `eval`, sem deserialização insegura.
- [x] **A.8.29** — Testes de segurança. CI com gitleaks + CodeQL.
## 3. Cyber checklist
- [x] Zero runtime dependency (sem supply chain risk indireto).
- [x] Input validation: todas as funções checam tipos antes de usar.
- [x] Sem dependência transitiva de crypto/auth — lib é puramente transformacional.
- [x] CI: gitleaks + CodeQL + lint + test matrix (Python 3.11/3.12/3.13).
- [x] Lockfile commitado (`package-lock.json`) para reprodutibilidade A.8.8.
- [x] Nenhum `console.log` ou `print` de dados em produção.
- [x] **Fixtures de teste jamais contêm credencial real** — sempre valores obviamente fake (`FAKE_TEST_TOKEN_DO_NOT_USE`).
## 4. O que a lib **nunca** faz
- Rede (nada de `fetch`, `requests`, `http`).
- Disco (nada de `fs.readFile`, `open()`).
- Persistência.
- Log de conteúdo do usuário.
- Deserialização de dados externos (só recebe objetos Python/JS já parseados).
## 5. Regras para contribuidor
PR só é aceito se:
- [ ] Testes de paridade TS↔Py passam (mesma assinatura, mesmo comportamento).
- [ ] Nenhuma dependência runtime adicionada (dev-only OK).
- [ ] Nenhum `console.log`/`print` introduzido.
- [ ] Nenhum valor parecido com secret real em fixture (CI gitleaks verifica).
- [ ] Benchmark executado, resultado anexado ao PR.
## 6. Auditoria
- Última revisão: 2026-04-24.
- Próxima revisão: trimestral.
- Responsável: @jessefreitas.