# ETAPA 3C — Texto de consentimiento + dos nuevas encuestas piloto ## 1. Objetivo Dos cambios independientes: 1. Actualizar el texto de la pantalla de consentimiento para usar el nombre de empresa dinámico desde la DB y el nuevo wording aprobado. 2. Insertar en el seed dos nuevas organizaciones y dos nuevos surveys (InQuality y Fundación Solidaridad) como encuestas de espacio de pruebas reales. --- ## 2. Contexto previo - El nombre de empresa se lee de `surveys.brand_config.org_name` (JSONB), no de `organizations.name`. El formulario ya tiene acceso a ese valor via `brand_config`. - El survey actual (`30000000-...-0001`) tiene `brand_config.org_name = "InQuality"`. - El componente que muestra la pantalla de consentimiento es `ConsentScreen`, llamado desde `survey-form.tsx` con `brandConfig={survey.brand_config}`. - Las dos nuevas encuestas son para uso real en espacio de pruebas — los encuestados serán notificados cuando la plataforma madure. --- ## 3. DECISIONES YA TOMADAS — no consultar de nuevo - Organizaciones separadas para cada encuesta — cada una con su propio `org_id`. - Los surveys nuevos tienen `status='live'` para que sean accesibles por UUID. - El survey demo existente (`30000000-...-0001`) NO se toca — sigue funcionando. - Los nuevos UUIDs siguen el patrón del seed: `10000000-...-0002` para org InQuality real, `10000000-...-0003` para Fundación Solidaridad, y surveys `30000000-...-0002` y `30000000-...-0003` respectivamente. - `brand_config.org_name` es el campo que alimenta el texto dinámico del consentimiento. --- ## 4. Cambio 1 — Texto del consentimiento ### 4.1 Texto actual (aproximado) ``` Diagnóstico interno de [org_name]: tus respuestas ayudan a la empresa a entender la realidad de las personas que cuidan a familiares con discapacidad o adultos mayores, para diseñar apoyos más adecuados. Solo se trabaja con datos agregados — nunca accede a respuestas individuales. Estudio país (opcional): tus respuestas anonimizadas contribuyen a un mapeo nacional sobre la economía del cuidado en Paraguay. Los datos se procesan de forma irreversiblemente desvinculada de cualquier empresa o persona. ``` ### 4.2 Texto nuevo ``` Diagnóstico interno de [ORG_NAME]: Tus respuestas ayudan a la empresa, en alianza con Fundación Solidaridad, a entender la realidad de las personas que cuidan a familiares con discapacidad o adultos mayores, para diseñar apoyos más adecuados. Solo se trabaja con datos agregados — nunca accede a respuestas individuales. Estudio país (opcional): Tus respuestas serán anónimas y contribuyen a un mapeo nacional sobre la economía del cuidado en Paraguay. Los datos se procesan de manera que no pueden asociarse a ninguna empresa ni persona. ``` `[ORG_NAME]` = `brand_config.org_name` — ya disponible en el componente. Las palabras en negrita son: el nombre de la empresa, "datos agregados", "anónimas". Mantener el mismo patrón de negritas que el texto actual. ### 4.3 Archivo a modificar Buscar en `ConsentScreen` o donde esté el JSX que renderiza estos dos párrafos. Solo cambiar el texto — no la estructura ni el estilo. --- ## 5. Cambio 2 — Dos nuevas organizaciones y surveys en seed.sql ### 5.1 Organización InQuality ```sql INSERT INTO public.organizations (id, name, sector, size_bucket) VALUES ( '10000000-0000-0000-0000-000000000002', 'InQuality', 'Consultoría/Tecnología', '1-50' ) ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, sector = EXCLUDED.sector, size_bucket = EXCLUDED.size_bucket; ``` ### 5.2 Organización Fundación Solidaridad ```sql INSERT INTO public.organizations (id, name, sector, size_bucket) VALUES ( '10000000-0000-0000-0000-000000000003', 'Fundación Solidaridad', 'Sociedad Civil/ONG', '1-50' ) ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, sector = EXCLUDED.sector, size_bucket = EXCLUDED.size_bucket; ``` ### 5.3 Survey InQuality ```sql INSERT INTO public.surveys ( id, org_id, title, status, is_anonymous, data_sensitivity, security_class, controller_role, consent_version_id, brand_config, k_threshold ) VALUES ( '30000000-0000-0000-0000-000000000002', '10000000-0000-0000-0000-000000000002', 'Mapeo de Cuidadores — 2026', 'live', true, 'sensible', 'confidencial', 'A', '20000000-0000-0000-0000-000000000001', '{"org_name": "InQuality", "branch_name": "Equipo InQuality", "branch_city": "Asunción"}', 5 ) ON CONFLICT (id) DO UPDATE SET brand_config = EXCLUDED.brand_config, status = EXCLUDED.status; ``` ### 5.4 Survey Fundación Solidaridad ```sql INSERT INTO public.surveys ( id, org_id, title, status, is_anonymous, data_sensitivity, security_class, controller_role, consent_version_id, brand_config, k_threshold ) VALUES ( '30000000-0000-0000-0000-000000000003', '10000000-0000-0000-0000-000000000003', 'Mapeo de Cuidadores — 2026', 'live', true, 'sensible', 'confidencial', 'A', '20000000-0000-0000-0000-000000000001', '{"org_name": "Fundación Solidaridad", "branch_name": "Equipo Fundación", "branch_city": "Asunción"}', 5 ) ON CONFLICT (id) DO UPDATE SET brand_config = EXCLUDED.brand_config, status = EXCLUDED.status; ``` ### 5.5 Notas sobre el seed - Usar `ON CONFLICT (id) DO UPDATE` para que el seed sea idempotente. - El `consent_version_id` referencia el consentimiento existente (`20000000-0000-0000-0000-000000000001`) — mismo texto para ambas. - Las URLs resultantes serán: - InQuality: `?s=30000000-0000-0000-0000-000000000002` - Fundación Solidaridad: `?s=30000000-0000-0000-0000-000000000003` --- ## 6. Entregables (DoD) - [ ] Texto del consentimiento actualizado en el componente con el nuevo wording. - [ ] `[ORG_NAME]` dinámico desde `brand_config.org_name`. - [ ] Negritas correctas: nombre de empresa, "datos agregados", "anónimas". - [ ] Dos nuevas organizaciones en `seed.sql` con `ON CONFLICT`. - [ ] Dos nuevos surveys en `seed.sql` con `ON CONFLICT`. - [ ] Build exitoso. - [ ] `git diff --name-only HEAD` en scope. ## 7. Qué reportar ``` Verificado: - Texto de consentimiento actualizado ✓ - org_name dinámico ✓ (valor en demo: "InQuality" o "Empresa Demo") - Seed actualizado con 2 orgs + 2 surveys ✓ - ON CONFLICT en todos los nuevos INSERTs ✓ - Build exitoso ✓ - Diff en scope ✓ URLs de los nuevos surveys: - InQuality: ?s=30000000-0000-0000-0000-000000000002 - Fundación Solidaridad: ?s=30000000-0000-0000-0000-000000000003 Asumido: - [decisiones de implementación] ``` ## 8. Qué NO hacer - ❌ No tocar el survey demo existente (30000000-...-0001). - ❌ No cambiar la estructura de `brand_config` — solo el texto del componente. - ❌ No re-seedear la DB de producción — solo actualizar seed.sql. - ❌ No cambiar estilos ni layout del ConsentScreen. - ❌ No tocar dashboard ni RPCs.