Documentación

Restricción de contenido

Restringe temas específicos para los visitantes anónimos (no autenticados) del widget. Los usuarios autenticados con identidad verificada ven las respuestas completas.

Descripción general#

La restricción de contenido te permite definir temas que solo deberían tratarse con usuarios autenticados. Cuando un visitante anónimo pregunta sobre un tema restringido, la IA responde con un mensaje personalizado en lugar de la respuesta real.

Esto es útil para proteger información sensible como:

  • Detalles de precios y estructuras de descuentos
  • Funciones enterprise o roadmap interno
  • Documentación de la API o especificaciones técnicas
  • Información específica de partners

Configuración#

La restricción por temas se configura actualmente a través de la API de ajustes del agente. Actualiza tu agente con tres claves de settings:

  • gated_enabled (boolean) — activa o desactiva la restricción por temas
  • gated_topics (array de cadenas) — los temas a restringir. Sé específico — por ejemplo, usa "niveles de precios enterprise" en lugar de solo "precios" para evitar falsos positivos.
  • gated_message (string) — el mensaje que ven los usuarios anónimos al preguntar sobre un tema restringido. Si está vacío, el valor por defecto es: "This information is available to registered users. Please sign in or contact us for details."
Configurar Content Gate a través de la APIbash
curl -X PATCH https://api.respondo.ai/api/v1/agents/<agent-uuid> \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "gated_enabled": true,
      "gated_topics": ["enterprise pricing tiers", "internal roadmap"],
      "gated_message": "This information is available to registered users. Please sign in or contact our sales team for details."
    }
  }'

La restricción de contenido también requiere identificación de usuarios para distinguir a los visitantes autenticados de los anónimos. Consulta la documentación de Identificación de usuarios para las instrucciones de configuración.

No lo confundas con el interruptor Content gate de la pestaña Appearance del canal del widget — es una función distinta: pide a los visitantes un email antes de poder chatear (captura de leads) y no restringe temas.

Cómo funciona#

Cuando llega un mensaje desde el widget, el sistema comprueba si el usuario tiene una identidad verificada:

Tipo de usuarioCampos de identidadTemas restringidos
AutenticadoTiene userId o email (verificado con HMAC cuando identity_secret está configurado)Respuestas completas — sin restricciones
AnónimoSolo visitorId, o sin identidad algunaVe el mensaje de respuesta restringida
HMAC fallidoTiene userId pero un userHash inválidoSe trata como anónimo — ve la respuesta restringida
Sin identity_secret configurado, cualquier userId/email pasado a identify() cuenta como autenticado sin verificación — un visitante puede autoidentificarse desde la consola del navegador y desbloquear los temas restringidos. Configura identity_secret y pasa userHash para que la autenticación sea verificable; consulta Verificación de identidad (HMAC). La fila "HMAC fallido" de arriba solo se aplica cuando identity_secret está configurado.
La restricción de contenido funciona a nivel de instrucción de la IA. Cuando un usuario anónimo pregunta sobre un tema restringido, se indica a la IA que responda con tu mensaje personalizado. Los temas no restringidos se responden con normalidad para todos.
La restricción de contenido es de mejor esfuerzo, no un control de acceso criptográfico. La IA puede ocasionalmente proporcionar respuestas parciales a preguntas límite. Para una seguridad de datos estricta, considera separar el contenido sensible en un agente completamente distinto.

Requisito de identidad#

Para que la restricción de contenido funcione, necesitas pasar la identidad del usuario al inicializar el widget. Aquí tienes un ejemplo mínimo:

Inicialización del widget con identidadhtml
<!-- Para usuarios autenticados -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  Respondo.identify({
    userId: 'user-123',
    email: 'user@example.com',
    userHash: 'HMAC_SHA256_HASH'  // Requerido si identity_secret está configurado
  });
</script>

<!-- Para visitantes anónimos — solo init sin identify -->
<script>
  Respondo.init({ agentId: 'YOUR_AGENT_ID' });
  // Sin llamada a identify() — el usuario es anónimo, los temas restringidos se limitarán
</script>

Para la configuración de la verificación HMAC, consulta Verificación de identidad (HMAC).

Restricción de contenido vs Temas a evitar

Temas a evitar bloquea temas para todos los usuarios — tanto autenticados como anónimos. Úsalo para temas que el agente nunca debería tratar (por ejemplo, comparaciones con la competencia, asesoría legal).

Content Gate bloquea temas solo para los usuarios anónimos. Los usuarios autenticados ven las respuestas completas. Úsalo para información que quieras compartir con los clientes pero no con el público (por ejemplo, precios, funciones internas).