Cuando estaba depurando un parche para nuestro portal de empleo descubrí que la única forma de asegurar que funcionaba era probarlo con datos parecidos a producción. Nuestros seeders ficticios no reflejaban la complejidad ni los casos límite que generan usuarios reales y no podía volcar la base de datos de producción en mi portátil porque contenía información personal sensible. Si algo de eso se filtraba en logs o capturas sería un problema grave. Gracias a PostgreSQL Anonymizer pude trabajar con datos reales enmascarados y seguir haciéndolo desde entonces.
Qué es PostgreSQL Anonymizer: es una extensión para PostgreSQL que permite enmascarar o reemplazar información de identificación personal PII y datos comerciales sensibles mediante un enfoque declarativo de anonimización. Las reglas de enmascaramiento se definen directamente en el esquema de la base de datos, lo que simplifica su aplicación y mantenimiento.
Métodos de enmascaramiento disponibles: Anonymous Dumps exporta los datos ya enmascarados a un archivo SQL; Static Masking elimina o reemplaza la PII según reglas definidas de forma permanente; Dynamic Masking oculta la PII solo para ciertos usuarios con permisos de enmascaramiento; Masking Views permite crear vistas dedicadas que muestran datos enmascarados; Masking Data Wrappers aplica reglas de enmascaramiento sobre datos externos.
Demo rápida: para pruebas puedes lanzar el contenedor oficial con la imagen registry.gitlab.com/dalibo/postgresql_anonymizer mapeando el puerto 6543 a 5432 y definiendo una contraseña de postgres con la variable de entorno POSTGRES_PASSWORD. Dentro de la DB crea una tabla candidates con columnas como id bigserial primary key, first_name, last_name, email unique not null, phone_number, date_of_birth, national_id, address, city, state, postal_code, country y timestamps. Inserta algunas filas con PII realista para probar los casos extremos.
Activa la extensión y configura un rol enmascarado: ajusta session_preload_libraries para cargar la librería anon, crea la extension anon si no existe y ejecuta la función de inicialización de la extensión. Crea un rol anonymize_user con contraseña y habilita para ese rol el modo de transparent dynamic masking. Añade etiquetas de seguridad security label para marcar el rol como MASKED y etiqueta columnas concretas como last_name para que se apliquen funciones de enmascaramiento integradas como anon.dummy_last_name o funciones personalizadas.
Para generar un volcado anónimo usa pg_dump conectándote con el usuario enmascarado y excluyendo la extensión anon en el volcado, por ejemplo pg_dump postgres --user anonymize_user --no-security-labels --exclude-extension=anon --file=postgres_anonymized.sql. El resultado será un volcado con datos enmascarados según tus reglas y, si te conectas con el rol anonymize_user, verás los datos ya ocultos en lugar de los originales.
PostgreSQL Anonymizer ofrece muchas posibilidades y combinaciones para diferentes flujos de trabajo: dumps anónimos para desarrollo, enmascaramiento estático para entornos de staging, o enmascaramiento dinámico para entornos compartidos entre equipos. Consulta la documentación oficial de la extensión para conocer todas las funciones y ejemplos avanzados.
En Q2BSTUDIO ayudamos a equipos y empresas a implantar prácticas seguras de desarrollo y datos. Somos una empresa de desarrollo de software y aplicaciones a medida especializada en software a medida, inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Ofrecemos servicios de inteligencia de negocio y power bi, soluciones de ia para empresas y agentes IA, además de auditorías y pentesting para proteger tus activos. Si necesitas una solución a medida para controlar y anonimizar datos en entornos de desarrollo puedes conocer nuestro trabajo en desarrollo de aplicaciones y software a medida o explorar nuestras capacidades de inteligencia artificial en servicios de inteligencia artificial. Contacta con nosotros para diseñar una estrategia que combine enmascaramiento de datos, ciberseguridad y despliegues en la nube.
Palabras clave integradas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.