Estructura del método + fundación de datos Sprint 1 (pre-ejecución)

This commit is contained in:
markosbenitez
2026-06-02 07:21:49 -03:00
parent ef9e4bf998
commit e116e59ee9
11 changed files with 242 additions and 1 deletions

View File

@@ -40,6 +40,20 @@ discapacidad) → la privacidad no es una feature, es una restricción de diseñ
- **v1 corre solo Modo A.** El campo existe pero la lógica dual no se construye todavía.
8. **La empresa nunca accede a dato individual crudo.** Solo recibe agregados/dashboards autorizados
por encima del umbral. (Coherente con Modo A + k-anonimato.)
9. **Manejo de API keys de Supabase — transversal y crítico.** La `anon` key es pública y **respeta
RLS**: es la única que puede tocar el frontend/cliente. La `service_role` key **bypassa RLS por
completo** y por lo tanto saltea k-anonimato, consentimiento y todo el modelo de ADR-001. Reglas:
- La `service_role` **NUNCA** va al frontend, al cliente, a un artefacto público ni a git. Solo
vive server-side (Edge Functions / backend), cargada desde variable de entorno.
- `.env` y `.env.*` siempre en `.gitignore`. Una `service_role` en el historial de git es un
incidente de seguridad aunque el repo sea privado → rotar la key de inmediato.
- Toda operación de cara al respondente o a la empresa usa `anon` key + RLS. Si algo "necesita"
`service_role` para funcionar en el cliente, está mal diseñado: revisar las policies, no exponer
la key.
10. **El flujo del respondente NUNCA se ata a un IdP / SSO.** Encuestas anónimas = sin login, sin
Keycloak, sin cookie de sesión identificable. El SSO (Keycloak) es solo para staff interno. RLS
lee claims por nombre (`org_id`, `role`) para que el emisor del token sea intercambiable; nunca
basar RLS en `user_metadata` (modificable por el usuario). (Ver ADR-004.)
---
@@ -114,4 +128,4 @@ importar el tamaño técnico.
- **Nombre/marca del producto** (Nivel 3).
- **Residencia de datos**: Supabase Cloud vs self-host (ADR-002).
- **`CONVENTIONS.md`**: formato de cifras, idioma de la UI, tono de los mensajes. Apenas una
convención se pregunte 2 veces, documentarla acá (anti-patrón AP.4).
convención se pregunte 2 veces, documentarla acá (anti-patrón AP.4).