docs(authz): design doc authz multi-tenant con taxonomía IDPro - #226
Conversation
…c9cd4fe2) - Estado as-is verificado: JWT sub-only, RBAC scaffold sin cablear (B1-B7) - Taxonomia IDPro 6 ejes + decision explicita por eje - Matriz roles x permisos x tenants + invariantes I1-I6 - Aislamiento: shared schema + RLS backstop (app-layer como frontera) - 8 decisiones gated Joker para presentacion 1-a-1 (GD-1..GD-8) - Doc-only: sin cambios de codigo (freeze MVP->BETA)
PR Check Results✅ Code Formatting: Passed |
|
| Severity | Count |
|---|---|
| 🔴 CRITICAL | 0 |
| 🟠 HIGH | 46 |
| Total | 46 |
Scans performed:
- 📁 Filesystem (vulnerabilities, secrets, misconfigurations)
- 🐳 Backend Docker image
- 🐳 Frontend Docker image
- 🏗️ IaC misconfiguration detection
📋 View detailed SARIF reports
Download artifacts from this workflow run for full SARIF reports.
Results are also available in the GitHub Security tab.
Trivy v0.71.0 | aquasecurity/trivy
🎨 Frontend Preview DeploymentApp Coolify: qa-framework-frontend-pr-226 ( Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645). |
🔧 Backend Preview DeploymentApp Coolify: qa-framework-backend-pr-226 ( Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645). |
🧹 Preview CleanupPR #226 - Merged ✅ Preview apps eliminadas de Coolify (verificado via API): backend + frontend. Resources freed at 2026-09-04T23:41:20.753Z |
Qué
Design doc de autorización multi-tenant (
docs/AUTHORIZATION.md, 320 líneas) — insumo para decisión gated Joker. Doc-only: cero cambios de código (freeze MVP→BETA respetado).Contenido
sub, RBAC scaffold sin cablear (RoleModel inexistente, sin role_assignments, nadie llenarequest.state.user_roles), aislamiento 100% app-layer. 7 brechas catalogadas (B1–B7), incl. riesgo crítico B4: sin binding usuario↔tenant.Out of scope
Implementación de código, ReBAC/sharing, ABAC fino, SSO SAML/SCIM, motores de política externos, números de billing.
Verificación
Card:
c9cd4fe2(workboard) · Fuente taxonómica: IDPro/Chiarelli + Brossard (PAP/PIP/PDP/PEP).