Skip to content

rs-resakita-tokenized-engine

Card Vault Tokenization Engine. Servicio Rust de tokenización de PANs bajo PCI DSS v4.0.1 + BCRA Com. "A" 7783.

Estado: pre-implementación. Diseño aprobado para construcción (ver docs/). Sprint 0–2 en curso: bootstrap del workspace + crates públicos (vault-types, vault-crypto, vault-kms-mock).

Documentación

Toda la decisión de diseño vive en docs/:

  • docs/rfcs/0001-card-vault-engine.md — RFC maestro.
  • docs/tsd/0001-overall-system.md — TSD maestro (SLOs, deployment, security model).
  • docs/adr/ — 16 ADRs (decisiones tomadas).
  • docs/rfcs/ — 13 RFCs por componente.
  • docs/tsd/ — 11 TSDs por slice/adapter.
  • docs/audits/ — reportes de auditoría (ver arnés más abajo).

Estructura del workspace

crates/
├── public/                # Publicables a crates.io con prefix vault-*
│   ├── vault-types/       # Tipos de dominio (TenantId, Token, KekId, Fingerprint, WrappedDek)
│   ├── vault-ports/       # Traits abstractos (KmsPort, VaultRepo, AuditSink)
│   ├── vault-crypto/      # Funciones puras (AES-256-GCM, HMAC-SHA256)
│   └── vault-kms-mock/    # KMS mock para tests externos
└── private/               # No publicables (publish = false)
    ├── vault-adapters/    # Implementaciones concretas (AWS KMS, Postgres, audit Postgres)
    ├── vault-features/    # 6 slices: tokenize, detokenize, get_metadata, rewrap_single, batch_rewrap, retire_kek
    └── vault-api/         # Servidor axum + ingress + bootstrap

Layout justificado en ADR-0002 (monorepo workspace), ADR-0003 (vertical slice), ADR-0004 (split público/privado), ADR-0016 (naming vault-*).

Comandos básicos

cargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all
cargo deny check

Arnés de auditoría

El repo lleva instalado un arnés de agentes auditores (Claude Code) que valida coherencia de diseño y código:

  • audit-security, audit-perf, audit-arch — activos (modo docs mientras no haya .rs; pivotea a modo code automáticamente).
  • audit-quality — parked hasta primer .rs (decisión humana de activación).
  • audit-orchestrator — paraleliza los 3 dominios y agrega resultado en docs/audits/<fecha>/SUMMARY.md.

Ver AGENTS.md para el contrato compartido del arnés.

Compliance

  • PCI DSS v4.0.1 (efectivo 31 marzo 2025): cláusulas 3.4, 3.5.1, 3.5.1.1, 3.5.1.2, 3.6/3.7, 4.2.1.1, 8.3.1, 8.3.10.1, 10.x.
  • BCRA Com. "A" 7783 punto 3.
  • Mapeo completo en docs/rfcs/0001-card-vault-engine.md §"PCI DSS v4.0.1 mapping".

DISCLAIMER: este software es una referencia de implementación bajo guidance PCI DSS v4.0.1 + BCRA Com. "A" 7783. NO está PCI-attested. Usarlo NO confiere compliance automática. PCI compliance requiere QSA on-site assessment de tu deployment específico, SOC 2 / pen testing de tu infra, controles operacionales propios, cyber insurance, y patching continuo — ninguno incluido en este repo. Si lo deployás en producción, asumís total responsabilidad. Ver LICENSE para el disclaimer completo.

License

Licensed under Apache License 2.0 OR MIT (dual license, tu elección):

Contribuciones se reciben bajo los mismos términos (Apache-2.0 §5 + DCO 1.1). Ver CONTRIBUTING.md.

Proyecto personal de aprendizaje en desarrollo Rust asistido por IA. Sin afiliación con ninguna organización. Identificadores en tests (naranja_x, meli_pagos) son fixtures sintéticos, no claims de partnership. Ver ADR-0023 para el rationale completo.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages