ADR-0017: Política de seguridad de voz desactivada por defecto
- Estado: Accepted
- Fecha: 2026-05-27 (retroactivo - la voz se publicó en v2.0.0)
- Responsables de la decisión: Waldemar Szemat
Contexto y planteamiento del problema
Section titled “Contexto y planteamiento del problema”ADR-0013 añadió la voz (TTS mediante ElevenLabs
eleven_multilingual_v2, STT WebSocket en tiempo real) como una extensión de
la SPA de la demo. Ese ADR documenta el diseño, pero no codifica la postura de
seguridad para el estado por defecto de la voz ni la puerta de consentimiento
que la gobierna.
La voz en una demo cercana a un ámbito regulado introduce una superficie de consentimiento y riesgo distinta a la del texto:
- Suplantación / deepfake: una voz sintetizada puede malinterpretarse como una grabación de una persona real.
- Privacidad: el audio de STT se procesa en tránsito incluso cuando la demo no lo retiene; la carga del consentimiento es mayor que para el texto.
- Autoridad de la señal de audio: una voz que suena clínica puede escucharse como una instrucción incluso cuando el texto plantea una negativa.
La decisión es: ¿cuál es el estado por defecto de la voz, y cómo se registra el consentimiento a ella, para una persona que visita el sitio por primera vez?
Factores de decisión
Section titled “Factores de decisión”- Postura de consentimiento primero: las demos cercanas a un ámbito regulado demuestran el consentimiento, no lo dan por sentado.
- Exposición a deepfakes: activar la voz por defecto pone una voz sintética en los oídos de cada visitante como primera impresión. Esa es la señal equivocada.
- Paridad entre idiomas: el valor por defecto debe ser uniforme en en / es-419 / pt-BR. Un idioma que tuviera un valor por defecto distinto sería difícil de justificar.
- Reversibilidad: la suscripción voluntaria debe poder revocarse en cualquier momento sin perder la experiencia de texto.
Opciones consideradas
Section titled “Opciones consideradas”- Opción A: Voz activada por defecto; el interruptor funciona como un control de “silenciar”.
- Opción B: Voz desactivada por defecto; suscripción voluntaria capturada como consentimiento explícito registrado en el servidor por clave, persistido entre sesiones.
- Opción C: Voz desactivada por defecto; suscripción voluntaria registrada
del lado del cliente en
localStoragepor dispositivo. - Opción D: Voz condicionada a un modal de privacidad explícito en cada sesión (sin persistencia).
Resultado de la decisión
Section titled “Resultado de la decisión”Opción elegida: Opción B - Voz desactivada por defecto, desbloqueada solo mediante consentimiento explícito que el servidor registra por clave y persiste entre sesiones. La razón determinante es la postura de consentimiento primero: una demo cercana a un ámbito regulado que habla en el momento en que un visitante la abre ha elegido el valor por defecto equivocado. Registrar el consentimiento del lado del servidor, por clave, respeta la decisión previa del usuario sin insistir en cada sesión y mantiene la puerta aplicable donde una bandera del lado del cliente no podría; el aviso explícito en el pie “El audio NO se retiene” se muestra sin importar el estado de la voz, de modo que el contexto del consentimiento nunca desaparece. La voz en sí misma es un derecho de pago (ADR-0013), por lo que la puerta de consentimiento solo se aplica a las claves que pueden usar la voz.
Confirmación
Section titled “Confirmación”- La voz está desactivada por defecto en la SPA de la demo; no se sirve ningún turno de audio hasta que el consentimiento queda registrado.
- El consentimiento se registra del lado del servidor por clave. Hasta que se
otorga, una solicitud de voz se rechaza con 403
consent_required; el servidor, no el navegador, mantiene el estado de consentimiento y lo persiste entre sesiones. - Las comodidades de voz aparecen solo para las claves que portan el derecho de voz; a una clave sin derecho nunca se le ofrece la voz sin importar el consentimiento.
- Una divulgación de voz única es la puerta de consentimiento que el usuario pasa para habilitar el audio.
- La nota de gobernanza sobre deepfakes y consentimiento documenta la política y hace referencia a este ADR (véase política de consentimiento de voz y deepfakes).
- Paridad entre idiomas: la voz está desactivada por defecto en en, es-419, pt-BR; la divulgación está completamente traducida en los tres.
Consecuencias
Section titled “Consecuencias”Positivas
Section titled “Positivas”- La experiencia de la primera visita es silenciosa. La decisión de consentimiento es del usuario, no de la demo.
- La exposición a deepfakes queda limitada a los usuarios que habilitaron la voz de forma explícita.
- El aviso del pie “El audio NO se retiene” mantiene el contexto del consentimiento visible en todo momento.
- Se garantiza la paridad entre idiomas.
Negativas
Section titled “Negativas”- Un clic adicional para los usuarios que sí quieren la voz. Un costo pequeño de UX.
Neutrales
Section titled “Neutrales”- El consentimiento se registra por clave en el servidor, de modo que la decisión de un usuario sigue a la clave a través de dispositivos y sesiones en lugar de vivir en el almacenamiento de un único navegador.
Pros y contras de las opciones
Section titled “Pros y contras de las opciones”Opción A: Voz activada por defecto
Section titled “Opción A: Voz activada por defecto”- Buena, porque el descubrimiento de la función de voz es sin fricción.
- Mala, porque una voz sintética se reproduce en la primera visita - el consentimiento es retroactivo, no previo.
- Mala, por la exposición a deepfakes para cada visitante.
- Mala, porque es difícil de justificar ante un revisor clínico.
Opción B (elegida): Voz desactivada por defecto + consentimiento registrado en el servidor
Section titled “Opción B (elegida): Voz desactivada por defecto + consentimiento registrado en el servidor”- Buena, porque pone el consentimiento primero.
- Buena, porque la exposición a deepfakes queda limitada a los usuarios suscritos.
- Buena, porque el consentimiento se aplica en el servidor, donde una bandera del lado del cliente podría eludirse, y persiste entre sesiones y dispositivos.
- Buena, porque la divulgación incluye el encuadre explícito de voz + privacidad.
- Mala, porque supone un clic adicional para los usuarios que quieren la voz, más el registro de consentimiento del lado del servidor que un interruptor solo del cliente no necesitaría.
Opción C: Voz desactivada por defecto + suscripción voluntaria del lado del cliente en localStorage
Section titled “Opción C: Voz desactivada por defecto + suscripción voluntaria del lado del cliente en localStorage”- Buena, porque es simple y no necesita un registro de consentimiento del lado del servidor.
- Mala, porque el estado de consentimiento vive en un único navegador y no sigue al usuario a través de dispositivos o sesiones.
- Mala, porque una bandera en poder del cliente no puede aplicarse del lado del servidor, por lo que es la herramienta equivocada para controlar una capacidad de pago y sensible al consentimiento.
Opción D: Modal en cada sesión
Section titled “Opción D: Modal en cada sesión”- Buena, porque el consentimiento se reafirma en cada sesión.
- Mala, porque es un patrón de UX insistente. Provoca fatiga de consentimiento.
- Mala, porque a un usuario que dio su consentimiento ayer se le vuelve a preguntar hoy sin ninguna ganancia operativa.
Más información
Section titled “Más información”- ADR-0013 - diseño de la extensión de voz
- Política de consentimiento de voz y deepfakes
- MADR 4.0.0: https://adr.github.io/madr/