Para conocer las medidas de protección que aplica OpenAI, consulta los clasificadores de seguridad, los controles de ciberseguridad y el monitoreo de la desalineación. Si hay menores de edad entre los usuarios de tu aplicación, sigue también las pautas para aplicaciones con usuarios menores de 18 años.
Usa nuestra API de moderación gratuita
La API de moderación de OpenAI es gratuita y puede ayudar a reducir la frecuencia con la que aparece contenido inseguro en las respuestas generadas. También puedes desarrollar tu propio sistema de filtrado de contenido y adaptarlo a tu caso de uso.
Si tu aplicación genera texto con la Responses API o con Chat Completions, también puedes solicitar puntuaciones de moderación en la propia solicitud de generación.
Pruebas adversariales
Te recomendamos realizar pruebas de “red teaming” para verificar que tu aplicación resista entradas adversariales. Prueba el producto con una amplia variedad de entradas y comportamientos de usuario. Incluye tanto casos representativos como los que cabría esperar de alguien que intenta “hacer fallar” la aplicación. ¿Se desvía del tema? ¿Puede alguien cambiar fácilmente el comportamiento de la función mediante una inyección de prompts, por ejemplo, con “ignora las instrucciones anteriores y haz esto en su lugar”?
Supervisión humana (HITL)
Siempre que sea posible, recomendamos que una persona revise los resultados antes de que se utilicen en la práctica. Esto es especialmente importante en ámbitos donde los errores pueden tener consecuencias graves y en la generación de código. Quienes revisen los resultados deben conocer las limitaciones del sistema y tener acceso a toda la información necesaria para verificarlos. Por ejemplo, si la aplicación resume notas, la persona que revise el resumen debe poder consultar fácilmente las notas originales.
Ingeniería de prompts
La “ingeniería de prompts” puede ayudar a delimitar el tema y el tono del texto generado. Esto reduce la probabilidad de que el modelo produzca contenido no deseado, incluso si un usuario intenta que lo genere. Darle más contexto al modelo puede ayudarte a orientar sus respuestas. Por ejemplo, antes de la nueva entrada, puedes darle algunos ejemplos de alta calidad que ilustren el comportamiento deseado.
“Conoce a tu cliente” (KYC)
Por lo general, deberías pedir a los usuarios que se registren e inicien sesión para acceder a tu servicio. Vincular el servicio a una cuenta existente, por ejemplo, para iniciar sesión con Gmail, LinkedIn o Facebook, puede ayudar, aunque esta opción podría no ser adecuada para todos los casos de uso. Exigir una tarjeta de crédito o un documento de identidad reduce aún más el riesgo.
Limita las entradas de los usuarios y la cantidad de tokens de salida
Limitar la cantidad de texto que un usuario puede introducir en el prompt ayuda a evitar la inyección de prompts. Limitar el número de tokens de salida ayuda a reducir la probabilidad de uso indebido.
Restringir las opciones de entrada o salida, sobre todo si provienen de fuentes confiables, reduce las posibilidades de usar la aplicación de forma indebida.
Puede ser más seguro que los usuarios seleccionen opciones de listas desplegables validadas (por ejemplo, una lista de películas de Wikipedia) que permitirles ingresar texto libre.
Cuando sea posible, puede ser más seguro devolver contenido de un conjunto de materiales validados en el backend que generar contenido nuevo. Por ejemplo, puedes dirigir al cliente al artículo de soporte existente que mejor responda a su consulta en vez de intentar generar una respuesta desde cero.
Permite que los usuarios reporten problemas
Por lo general, los usuarios deberían contar con un medio de fácil acceso para reportar fallas de funcionamiento u otras inquietudes sobre el comportamiento de la aplicación, como una dirección de correo electrónico visible o una opción para enviar solicitudes de soporte. Una persona debe supervisar ese canal y responder según corresponda.
Comprende y comunica las limitaciones
Los modelos de lenguaje pueden inventar información inexacta, generar respuestas ofensivas o presentar sesgos, entre otros problemas. Por eso, algunos casos de uso pueden requerir modificaciones importantes. Considera si el modelo es adecuado para tu propósito y evalúa el desempeño de la API con una amplia variedad de entradas posibles para identificar aquellas con las que la API podría dar peores resultados. Ten en cuenta quiénes son tus clientes y qué tipos de entradas utilizarán, y asegúrate de que tengan expectativas realistas.
En OpenAI damos mucha importancia tanto al uso seguro de la IA como a la seguridad informática.
Si detectas algún problema de seguridad al desarrollar con la API o en cualquier otro contexto relacionado con OpenAI, repórtalo a través de nuestro Programa de divulgación coordinada de vulnerabilidades.
Implementa identificadores de seguridad
Enviar identificadores de seguridad en tus solicitudes puede ayudar a OpenAI a monitorear la actividad y detectar abusos. Si detectamos una infracción de nuestras políticas en tu aplicación, estos identificadores nos permiten dar a tu equipo información más concreta para que pueda tomar medidas.
Los identificadores de seguridad también pueden ayudar a tu equipo a responder más rápido ante los abusos. Permiten vincular la actividad de forma consistente con un usuario final específico y reducen la probabilidad de que el uso indebido por parte de un usuario interrumpa el acceso del resto de tu organización.
Un identificador de seguridad debe ser una cadena que identifique de forma única a cada usuario. Aplica una función hash al nombre de usuario o a la dirección de correo electrónico para evitar enviarnos datos que permitan identificar a la persona. Si ofreces una vista previa de tu producto a usuarios que no han iniciado sesión, puedes enviar un ID de sesión en su lugar.
Recomendamos usar identificadores de seguridad en productos en los que los usuarios interactúan individualmente con un modelo, aunque son opcionales. Incluye los identificadores de seguridad en tus solicitudes a la API con el parámetro safety_identifier:
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.chat.completions.create({
model: "gpt-6-astra",
messages: [{ role: "user", content: "This is a test" }],
max_completion_tokens: 5,
safety_identifier: "user_123456",
});
console.log(response.choices[0].message.content);En la Images API, incluye safety_identifier en cada solicitud de generación de imágenes (POST /v1/images/generations) y de edición de imágenes (POST /v1/images/edits). Envíalo como una propiedad JSON en las solicitudes JSON o como un campo de formulario en las solicitudes de edición de imágenes en formato multipart. Usa el mismo identificador estable para cada usuario final en todas las solicitudes de tu organización. El identificador debe tener un máximo de 128 caracteres.
El parámetro user de la Images API está obsoleto. Para migrar, envía el identificador que antes proporcionabas en user mediante safety_identifier. La API sigue admitiendo las solicitudes existentes que usan user. Si envías ambos campos, safety_identifier tiene prioridad cuando contiene un valor no vacío. Si omites safety_identifier o su valor es null o una cadena vacía, la API usa user si está disponible.
En las solicitudes a la Realtime API, envía el mismo identificador estable que protege la privacidad del usuario mediante el encabezado OpenAI-Safety-Identifier. Cuando crees un secreto de cliente efímero para Realtime, incluye el encabezado en la solicitud que realiza el servidor para crear el secreto. Así, el identificador queda vinculado a esa sesión. Para las conexiones directas por WebSocket o WebRTC desde un backend de confianza, incluye el encabezado en la solicitud de conexión.
Los identificadores de seguridad no se transfieren entre API ni entre sesiones. Si tu aplicación ya envía safety_identifier en las solicitudes a la Responses API, envía ese mismo valor estable por separado en cada solicitud a la Images API y cada vez que crees una sesión de Realtime o te conectes a ella.
Revoca las claves de API comprometidas
Si crees que una clave de API quedó expuesta, se usó de forma indebida o se vio comprometida de alguna otra manera, revócala cuanto antes y reemplázala por una nueva. Ve a tu configuración de seguridad para ver todas tus claves de API y revocar las que estén comprometidas.
Pautas sobre MASI
OpenAI ha trabajado con especialistas en protección infantil, entre ellos NCMEC y Thorn, para ofrecer a los desarrolladores pautas prácticas para proteger a los niños. Consulta las pautas sobre MASI.