Políticas de seguridad y jurídicas para revisar el código de registro generado por IA antes de implementarlo en el servicio

El código de registro de usuarios creado por la IA en tan solo 5 minutos, aunque sus funciones operen correctamente, tiende a omitir políticas operativas como el restablecimiento de contraseñas, la baja de usuarios, la política de tratamiento de datos personales y las condiciones de uso. Antes de implementarlo en un servicio real, es necesario que una persona determine claramente el diseño de seguridad, las obligaciones legales y los criterios de conservación y eliminación de datos.

¿Por qué es peligroso utilizar tal cual el código de registro creado por la IA?

Si le pides a una IA generativa, como ChatGPT o Claude, que «cree una función de registro con correo electrónico y contraseña», obtendrás en poco tiempo un código que funciona. Sin embargo, el proceso de registro en un servicio real no se limita a un simple formulario de entrada y a la función de almacenamiento en una base de datos. Se trata de un sistema operativo que debe diseñarse teniendo en cuenta la recuperación de cuentas, el cambio de contraseña, la baja de usuarios, la política de tratamiento de datos personales, las condiciones de uso, los permisos de administrador y la política de conservación de datos.

En particular, en Corea, cuando se recopila información que permite identificar a una persona —como el correo electrónico, el nombre, el número de teléfono móvil o los identificadores de inicio de sesión en redes sociales—, hay que tener en cuenta las obligaciones relacionadas con el tratamiento de datos personales que establece la Ley de Protección de Datos Personales. El código generado por la IA no es más que un ejemplo genérico, y la responsabilidad legal y operativa del servicio real recae en el operador del mismo.

Principio fundamental: la IA puede crear código, pero no puede decidir las políticas en su lugar

El código creado por la IA tiende a centrarse en si «funciona». Por el contrario, un servicio real debe poder responder a las siguientes preguntas:

Si a la IA solo se le dice «crea un proceso de registro», estas decisiones pueden quedar fuera. Por lo tanto, el operador debe establecer primero las políticas y diseñar las indicaciones para que la IA plantee preguntas sobre los aspectos que no se hayan definido.

Seguridad básica: nunca se deben almacenar las contraseñas en texto claro

Ni siquiera el operador del servicio debe conocer la contraseña del usuario en texto claro. Si las contraseñas se almacenan en texto claro en la base de datos, los daños se ampliarán de inmediato en caso de fuga de datos.

El método seguro consiste en convertir las contraseñas en un hash unidireccional antes de almacenarlas. El hash unidireccional es un método de conversión diseñado para que la recuperación del texto original sea prácticamente imposible. Por lo general, para el almacenamiento de contraseñas se recomiendan algoritmos diseñados específicamente para este fin, como bcrypt, Argon2id o PBKDF2, en lugar de funciones hash generales rápidas.

Aspectos que deben comprobarse al almacenar contraseñas

Aspecto a comprobar Recomendación Motivo
Almacenamiento en texto plano Prohibido en todo caso En caso de fuga de la base de datos, todas las cuentas quedarían inmediatamente en peligro
Algoritmo de hash Utilizar bcrypt, Argon2id, PBKDF2, etc. Aumenta el coste de los ataques de fuerza bruta
Uso de sal Aplicar una sal única para cada usuario Se genera un hash diferente incluso con la misma contraseña
Configuración del coste de la operación Establecer un valor suficientemente alto teniendo en cuenta el rendimiento del servidor Dificulta los ataques de conjetura masiva
Registro en el log No dejar rastros de contraseñas ni tokens de restablecimiento en el log Evita incidentes secundarios derivados de la filtración del log

Los principales marcos web, como Ruby on Rails, Django o Laravel, ofrecen funciones para el almacenamiento seguro de contraseñas, pero el hecho de utilizar los valores predeterminados del marco no garantiza que se resuelvan automáticamente cuestiones como la recuperación de cuentas, la baja de usuarios o la política de tratamiento de datos personales.

Cinco políticas esenciales que la IA suele pasar por alto

1. Política de restablecimiento de contraseñas

Es inevitable que los usuarios olviden sus contraseñas. Si no se dispone de una función de restablecimiento de contraseñas, los administradores deben gestionar manualmente las solicitudes de recuperación de cuentas, lo que puede aumentar el riesgo de errores en la verificación de la identidad o de exposición de datos personales.

El restablecimiento de contraseña no consiste simplemente en «enviar un enlace por correo electrónico», sino que incluye la duración del token, la prevención de la reutilización y la protección contra la revelación de la existencia de la cuenta.

Políticas que hay que definir

2. Política de modificación de la información de los usuarios

Los usuarios suelen querer modificar su correo electrónico, contraseña, nombre de usuario y configuración de notificaciones. En las funcionalidades mínimas creadas por IA, a menudo se omite la pantalla de modificación de la información de los usuarios.

En particular, el cambio de contraseña es una operación sensible desde el punto de vista de la seguridad. Si se permite el cambio basándose únicamente en la sesión de inicio de sesión, otra persona podría apropiarse de la cuenta mientras el usuario se ausenta de su puesto en una cafetería o en la oficina.

Políticas que hay que definir

3. Política de baja de usuarios y eliminación de datos

La baja de usuarios es una de las políticas más importantes en la práctica del servicio. Los usuarios deben poder darse de baja del servicio y solicitar la eliminación de sus datos personales o la suspensión de su tratamiento. Si no existe la función de baja o si se mantiene la posibilidad de iniciar sesión tras la baja, aumentan simultáneamente los riesgos legales y de confianza.

Sin embargo, eliminar físicamente todos los datos de forma inmediata no es siempre la solución adecuada. Los datos que tengan motivos legítimos para su conservación —como pagos, impuestos, gestión de litigios o prevención del uso fraudulento— pueden requerir su conservación durante un periodo determinado. Por ello, la política de baja debe distinguir «qué se elimina, qué se anonimiza y qué se conserva».

Comparación entre «Soft Delete» y «Hard Delete»

Categoría Significado Ventajas Precauciones
Eliminación definitiva (Hard Delete) Eliminación física de los datos de la base de datos Reduce el riesgo de que persistan datos personales Si se eliminan los registros de pagos y disputas, pueden surgir problemas legales y contables
Eliminación blanda Se marca como cuenta inactiva y se bloquea el inicio de sesión Facilita la conservación de los registros de transacciones, las relaciones entre publicaciones y los registros de auditoría Los datos personales pueden seguir estando presentes, por lo que es necesario anonimizar y restringir el acceso
Anonimización Conversión o eliminación de identificadores (como el correo electrónico o el nombre) para dificultar su recuperación Reduce el riesgo de identificación al tiempo que se conservan los registros estadísticos y de transacciones Es necesario comprobar si el nivel alcanzado dificulta realmente la reidentificación

Métodos de uso habitual en la práctica

4. Política de tratamiento de datos personales

Incluso si solo se recopila una dirección de correo electrónico, es necesario informar sobre el tratamiento de los datos personales. La política de tratamiento de datos personales no es «un documento que hay que publicar por cumplir», sino un documento oficial que explica qué información trata el servicio y con qué finalidad.

Copiar tal cual la política de tratamiento de datos personales de otra página web es arriesgado. Si se incluye información que en realidad no se recopila, o se omite información que sí se recopila, se producirá una discrepancia entre el documento y el servicio. Si se utiliza IA, primero hay que organizar los campos de la base de datos, el formulario de registro, los datos que se solicitan para el inicio de sesión a través de redes sociales, los datos de registro de actividad y los datos de integración de pagos, y, a partir de ahí, elaborar un borrador.

Puntos principales que deben incluirse en la política de tratamiento de datos personales

Diferencias entre la política de tratamiento de datos personales y las condiciones de uso

Ambos documentos son importantes, pero tienen funciones diferentes.

Documento Función principal Riesgos en caso de ausencia o deficiencia
Política de tratamiento de datos personales Explica para qué y cómo se tratan los datos personales Incumplimiento de la obligación de notificación y divulgación prevista en la Ley de Protección de Datos Personales; pérdida de confianza de los usuarios
Condiciones de uso Establece las condiciones de uso del servicio y la base jurídica para las medidas del operador Falta de fundamento para restringir cuentas que cometan abusos, fraudes, insultos o envíen spam

La política de tratamiento de datos personales se asemeja más a un manual de tratamiento de datos, mientras que las condiciones de uso se asemejan más a las condiciones contractuales entre el usuario y el servicio. No basta con tener solo uno de los dos.

5. Condiciones de uso y política de sanciones

Si no existen condiciones de uso, la base para suspender cuentas, eliminar publicaciones o restringir el uso se debilita, incluso si los usuarios malintencionados abusan del servicio. En particular, los servicios en los que los usuarios dejan un rastro de su actividad, como las comunidades, los mercados, el SaaS y las plataformas de contenido, requieren necesariamente condiciones de uso y políticas de funcionamiento.

Contenidos principales que deben incluirse en las condiciones de uso

En la pantalla de registro debe incluirse claramente el procedimiento de aceptación de la política de tratamiento de datos personales y de las condiciones de uso. En caso de que se mezclen consentimientos opcionales y obligatorios, el usuario debe poder distinguirlos y seleccionarlos por separado.

El uso del inicio de sesión a través de redes sociales no elimina la necesidad de contar con una política

El uso de el inicio de sesión a través de redes sociales como Google, Kakao o Apple reduce la carga que suponen el almacenamiento de contraseñas propias y las funciones de recuperación de contraseñas. Sin embargo, esto no significa que la política de registro deje de ser necesaria.

Incluso con el inicio de sesión a través de redes sociales, siguen siendo necesarios los siguientes elementos:

Principios de seguridad a la hora de crear la página de administración

Cuando se registran usuarios, también se necesita una página de administración. Sin embargo, la página de administración es un área de alto riesgo en la que es fácil que se produzcan incidentes de fuga de datos personales. Debe evitarse el diseño que permita «al administrador ver toda la información».

Puntos de revisión de la página de administración

Elemento Política recomendada
Permisos de acceso Otorgar solo los permisos mínimos según el rol de administrador
Información mostrada Mostrar únicamente la información necesaria, como el correo electrónico, el estado de registro y el estado de sanciones
Información sensible No mostrar contraseñas, tokens ni información completa de pago
Función de sanciones Registrar los motivos de suspensión relacionados con las acciones prohibidas en las condiciones de uso
Registro de auditoría Registrar quién, cuándo y qué información de los usuarios ha consultado o modificado
Autenticación de administradores Aplicar contraseñas seguras y autenticación multifactorial

Estructura recomendada para las peticiones a la IA

A la IA no hay que transmitirle «funcionalidades», sino «políticas». El uso de la siguiente estructura permite reducir las omisiones.

Elementos que deben incluirse en la solicitud

  1. Pila tecnológica: por ejemplo, Ruby on Rails, Next.js, Django, Laravel, etc.
  2. Métodos de registro: correo electrónico y contraseña, inicio de sesión a través de redes sociales, sistema de invitaciones, etc.
  3. Política de autenticación: verificación por correo electrónico, límite de intentos fallidos de inicio de sesión, caducidad de la sesión, uso de autenticación en dos pasos
  4. Política de contraseñas: método de hash, procedimiento de cambio, periodo de validez del enlace de restablecimiento
  5. Política de baja: eliminación, anonimización, datos conservados, si se permite volver a registrarse
  6. Documentación legal: criterios para la elaboración de borradores de la política de tratamiento de datos personales y las condiciones de uso
  7. Política de administración: consulta de usuarios, suspensión, registros de auditoría, principio de privilegios mínimos
  8. Gestión de excepciones: direcciones de correo electrónico ya registradas, reinscripción de cuentas dadas de baja, inicio de sesión en cuentas suspendidas, etc.

Ejemplo de prompt

Implementa la función de registro e inicio de sesión mediante correo electrónico y contraseña.
Almacena la contraseña como un hash unidireccional seguro y no guardes el texto sin cifrar.
Haz que el enlace para restablecer la contraseña solo sea válido durante 30 minutos y se elimine tras un único uso.
Cuando se cambie la contraseña, solicita que se vuelva a introducir la contraseña actual.
Al darse de baja, bloquea inmediatamente el acceso; anonimiza el correo electrónico y el nombre, pero diseña el sistema de modo que el historial de pagos se pueda conservar por separado, teniendo en cuenta los requisitos legales de conservación.
Elabora una lista de los elementos que deben incluirse en el borrador de la política de tratamiento de datos personales y de las condiciones de uso, basándote en los campos de la base de datos que se recopilen.
Incluye en la pantalla de registro una casilla de verificación para aceptar los términos y condiciones obligatorios.
En la página de administración, sigue el principio de privilegios mínimos para que solo se vean el correo electrónico, el estado de registro y el estado de sanciones, y registra todas las consultas y modificaciones en un registro de auditoría.
Antes de la implementación, si hay alguna política que yo no haya establecido y que requiera una decisión, pregúntame primero.

La última frase, «Si antes de la implementación hay alguna política que yo no haya establecido y que requiera una decisión, pregúntame primero», es muy importante. Al incluir esta frase, la IA deja de ser una mera herramienta de generación de código para convertirse en un planificador auxiliar que detecta omisiones en las políticas.

Lista de comprobación previa a la implementación

Antes de aplicarlo al servicio real, debes comprobar los siguientes puntos:

Conclusión

La capacidad de desarrollo de productos en la era de la IA no se determina únicamente por la habilidad de escribir código rápidamente. Para operar un servicio real, es necesario definir de antemano la seguridad de la autenticación, la protección de los datos personales, la baja y la conservación de datos, los términos y condiciones, los privilegios de los administradores y las situaciones excepcionales.

La IA acelera la implementación, pero es el operador quien debe juzgar qué políticas son seguras, legales y adecuadas para el servicio. Al crear la función de registro de usuarios, antes de solicitar código a la IA hay que definir primero «qué se recopila, cómo se protege, cuándo se elimina y en qué casos se aplican sanciones».

FAQ

¿Por qué no se debe implementar directamente el código de registro generado por la IA?

El código generado por IA puede hacer que la función básica de inicio de sesión funcione, pero puede omitir políticas operativas como el restablecimiento de contraseñas, la baja de usuarios, la política de protección de datos personales, las condiciones de uso y los permisos de administrador. En un servicio real, no solo hay que gestionar los errores de código, sino también la protección de los datos personales, el robo de cuentas, la respuesta ante el incumplimiento de las condiciones de uso y la obligación de conservación de datos.

¿Por qué es peligroso almacenar las contraseñas tal cual en una base de datos?

Si las contraseñas se almacenan en texto plano, las cuentas de los usuarios quedarán expuestas de inmediato en caso de que se produzca una filtración de la base de datos. Las contraseñas deben almacenarse mediante algoritmos de hash unidireccionales adecuados para este fin, como bcrypt, Argon2id o PBKDF2, y ni siquiera los administradores deben poder ver las contraseñas en claro.

¿Durante cuánto tiempo debe ser válido el enlace para restablecer la contraseña?

La respuesta correcta varía en función del nivel de riesgo del servicio, pero, por lo general, es más seguro establecer un plazo de validez corto. Por ejemplo, se recomienda limitarlo a 15 o 30 minutos, invalidar inmediatamente los enlaces que se hayan utilizado una vez y aplicar un límite de frecuencia a las solicitudes de restablecimiento excesivas.

¿Es necesario eliminar inmediatamente todos los datos cuando un usuario se da de baja?

No siempre es la mejor opción eliminar todos los datos de inmediato. Aunque lo habitual es eliminar o anonimizar la información identificativa, como el correo electrónico o el nombre, la información que debe conservarse por motivos legales o contables —como el historial de pagos o los registros de resolución de litigios— puede conservarse de forma limitada, siempre que se establezcan el propósito y el plazo de conservación.

¿Es seguro el «borrado suave» desde el punto de vista de la protección de datos personales?

La «eliminación suave» es un método que marca la cuenta como inactiva para impedir el inicio de sesión y el uso, pero los datos personales pueden permanecer en la base de datos. Por lo tanto, los identificadores como el correo electrónico, el nombre y el número de teléfono deben anonimizarse o restringirse su acceso, y los fines y el plazo de conservación deben reflejarse claramente en la política de tratamiento de datos personales.

¿Es necesario contar con una política de tratamiento de datos personales aunque solo se recopilen direcciones de correo electrónico?

En Corea, una dirección de correo electrónico puede considerarse dato personal si permite identificar a una persona o si, combinada con otra información, permite identificarla. Si se recopilan direcciones de correo electrónico en el marco de la prestación de un servicio, es necesario detallar en la política de tratamiento de datos personales los datos recopilados, la finalidad del tratamiento, el plazo de conservación, el método de eliminación y la forma de ejercer los derechos de los usuarios.

¿Puedo copiar la política de privacidad de otro servicio y utilizarla?

Copiarlo tal cual es peligroso. Si incluyes datos que en realidad no recopilas u omites datos que sí recopilas, se producirá una discrepancia entre el funcionamiento del servicio y la documentación. Debes redactarlo basándote en los campos de tu base de datos, el formulario de registro, los datos que se solicitan al iniciar sesión a través de redes sociales y las herramientas externas subcontratadas.

¿Para qué sirven las condiciones de uso?

Las condiciones de uso constituyen los términos del contrato entre el usuario y el servicio. La existencia de estas condiciones permite establecer claramente las normas de funcionamiento, como las conductas prohibidas, la suspensión de cuentas, la eliminación de publicaciones, el reembolso de servicios de pago y la interrupción del servicio, además de sentar las bases para tomar medidas contra los usuarios malintencionados.

Si utilizo el inicio de sesión a través de redes sociales, ¿no es necesario crear una función para restablecer la contraseña?

Si el servicio no almacena sus propias contraseñas, la responsabilidad de restablecerlas puede recaer en el proveedor de inicio de sesión a través de redes sociales. No obstante, siguen siendo necesarios el proceso de baja de los usuarios, la política de tratamiento de datos personales, las condiciones de uso, la suspensión de cuentas, la página de administración y la notificación de la información recibida de los proveedores de redes sociales.

¿Qué frase es imprescindible incluir al solicitar a la IA la función de registro de usuarios?

Es recomendable incluir la frase: «Si hay alguna política que no haya establecido y sobre la que sea necesario tomar una decisión antes de la implementación, pregúntame primero». Esta frase sirve para que la IA, antes de limitarse a generar código, solicite información sobre políticas que puedan faltar, como la verificación por correo electrónico, el proceso de baja, el periodo de conservación o la aceptación de los términos y condiciones.

¿Qué datos personales deben poder consultarse en la página de administración?

Los administradores solo deben poder ver la información mínima necesaria para el desempeño de sus funciones. Por ejemplo, es más seguro mostrar únicamente los datos necesarios para el funcionamiento del sistema, como el correo electrónico, el estado de registro o el estado de las sanciones, y no mostrar información confidencial, como contraseñas, tokens de restablecimiento o datos completos de pago.

Sources

Images

Persona y robot de IA revisan un formulario de registro en un portátil con iconos de seguridad
Persona y robot de IA revisan un formulario de registro en un portátil con iconos de seguridad
Formulario de registro con candado y iconos de contraseña, clave, eliminación, datos y auditoría
Formulario de registro con candado y iconos de contraseña, clave, eliminación, datos y auditoría