Acceso& Aislamiento
Tenant context · roles · purpose-based visibility · audit trail
Tenant scope activo
TechNova
Plan
Suite
Rol actual
Admin del Tenant
Trust level
5/5
Tenant Context
Aislamiento RLS · row-level por tenant_id
- Datos aislados por
tenant_id=tn-tecnova - Sin cache compartido cross-tenant
- Search scope limitado a tenant
- Documentos QR con boundary tenant
- Exports siempre filtrados
Product Context
Productos / capacidades / apps activadas
Productos (6)
clinicaocupacionalesteticaodontokinenutricion
Capacidades (5)
laboratorioimagenesfarmaciafinancesupply
Apps (5)
profesionalpacienterecepcionteleb2b
Access Context
Rol activo: Admin del Tenant
PropósitosAdministrativo
Capabilities
persona.view_basicpersona.createpersona.exportagenda.view_allagenda.createdocument.viewdocument.exportfinance.view_invoicesfinance.view_treasuryfinance.exporttenant.iamtenant.billing_saas
Matriz de roles del tenant
Trust level + propósitos + capabilities autorizadas
| Rol | Trust | Propósitos | Ve HC | Ve sensible | Ve finanzas | # caps |
|---|---|---|---|---|---|---|
| Super Admin DITAP | administrativo | 3 | ||||
| Admin del Tenanttu rol | administrativo | 12 | ||||
| Médico | asistencial | 6 | ||||
| Recepción | administrativo | 4 | ||||
| Administración | administrativo, fiscal | 6 | ||||
| Contaduría | fiscal | 3 | ||||
| Tesorería | fiscal | 2 | ||||
| Compras | administrativo | 0 | ||||
| Auditor Médico | auditoria, asistencial | 7 | ||||
| Enfermería | asistencial | 4 | ||||
| Técnico | administrativo | 0 | ||||
| ART (cliente externo) | art | 1 | ||||
| Empresa Cliente B2B | administrativo | 2 |
Propósito activo
Declarado al iniciar la sesión · queda en cada acceso
Tag de auditoría
Asistencial directo
Cualquier acceso a HC sensible que el rol Admin del Tenant realice esta sesión queda etiquetado con este propósito. Cambios a otro propósito requieren re-declaración.
Sharing intra-red
Pacientes con visibilidad consentida entre productos del tenant
- AMAndrea MolinaVisible en clinicaesteticanutricionHasta 2027-02-14
- VEVictoria EchaveVisible en esteticaHasta 2027-01-20
- PGPablo GarcíaVisible en clinicakineHasta 2026-11-08
- MEMarco EchagueVisible en clinicaConsentimiento pendiente
Compartición controlada: requiere producto activo + rol que lo permita + consentimiento explícito + queda auditado. Revocación inmediata por el paciente o por el tenant.
Audit Trail
Inmutable · cada acceso a datos sensibles queda registrado con propósito declarado
- 09:42Dra. P. Vargas (medico) Abrió historia clínica
patient:pa-molinaTenant: TechNova · Propósito: Asistencial - 09:38María Gómez (recepcion) Confirmó turno
appointment:ap-7Tenant: TechNova · Propósito: Administrativo - 09:31BloqueadoMaría Gómez (recepcion) Intentó descargar HC
patient:pa-molinaTenant: TechNova · Propósito: Administrativo⊘ Rol "recepción" no tiene persona.view_clinical - 09:14L. Rivera (Galeno ART) (art cliente) Consultó expediente siniestro
art-claim:art-822Tenant: TechNova · Propósito: ART - 08:58Contaduría · J. Pérez (contaduria) Exportó CSV facturación
invoices:2026-04Tenant: TechNova · Propósito: Fiscal - 08:42Bloqueadomedico-bot@otro-tenant (medico) Intento de query cross-tenant
patient:pa-molinaTenant: CrossTenantAttempt · Propósito: Asistencial⊘ BLOQUEO RLS · tenant scope no coincide
Reglas no negociables
Producto compartido ≠ dato compartido
1
Aislamiento total entre tenants
Ningún paciente, documento, turno, factura ni HC puede aparecer en otro tenant. Ni en UI, ni search, ni exports, ni cache, ni QR, ni analytics.
2
Aislamiento por rol intra-tenant
Recepción no ve HC. Contaduría no ve datos clínicos sensibles. Cada rol tiene capabilities explícitas.
3
Compartición controlada y auditada
El cruce intra-red entre productos del mismo tenant solo si: producto activo + rol permite + consentimiento + audit.
4
Trust by design
Frontend defensivo: oculta datos por política. Backend autoritativo: RLS Postgres + middleware de permisos.