Café y Código

2. Privacidad y Datos Sensibles 🔒

¿Por qué importa la privacidad al usar IA?

Cada vez que escribes un prompt, seleccionas código o dejas que tu IDE envíe telemetría,estás compartiendo información con servidores externos. Dependiendo de la herramienta y su configuración, esa información puede ser almacenada, procesada o incluso utilizada para entrenar futuros modelos.

"Lo que le envías a la IA no se queda solo entre tú y la pantalla. Trata cada prompt como si fuera público."

🚫 Lo que NUNCA debes enviar a la IA

Independientemente de la herramienta que uses (Copilot, Cursor, Antigravity, Claude, ChatGPT), estos datos deben permanecer fuera de cualquier prompt o ventana de contexto:

🛑 Datos Prohibidos

  • Credenciales y Secretos: API keys, tokens de autenticación, contraseñas, certificados SSL, credenciales de bases de datos.
  • Datos Personales (PII/GDPR): Nombres de clientes reales, correos electrónicos, teléfonos, RUTs, datos financieros.
  • Código Propietario Confidencial: Algoritmos protegidos por NDA o acuerdos de confidencialidad.
  • Bases de Datos Reales: Dumps de producción, registros de logs con información sensible.

Ejemplo: Cómo se filtra una API Key

Parece inocente, pero ocurre constantemente. Un desarrollador pega su archivo .enven el chat para "pedir ayuda con la conexión":

❌ Nunca hagas esto
BASH
1# .env (PRODUCCIÓN)
2DATABASE_URL=postgresql://admin:s3cr3t_p4ss@prod-db.ejemplo.com:5432/clientes
3STRIPE_KEY=TU_CLAVE_REAL_DE_STRIPE_AQUI
4JWT_SECRET=mi_super_secreto_jwt_2024

En lugar de enviar el archivo real, sanitiza el contexto antes de compartirlo:

✅ Versión sanitizada
BASH
1# .env.example (SEGURO para compartir)
2DATABASE_URL=postgresql://user:password@localhost:5432/mi_base
3STRIPE_KEY=XXXXXXXXXXXXXXXX
4JWT_SECRET=tu_secreto_aqui

✅ Lo que SÍ puedes enviar

💚 Información Segura

  • Estructuras de datos y firmas de métodos: Interfaces, tipos, declaraciones de clases vacías.
  • Pseudocódigo y lógica algorítmica general: "¿Cómo ordenar una lista de objetos por fecha en JS?"
  • Datos ficticios (dummy/mock): [{ id: 1, name: "User A", email: "user@example.com" }]
  • Mensajes de error sanitizados: Stack traces sin rutas absolutas ni nombres de usuario del sistema.

Práctica: Sanitizar un prompt real

Supongamos que quieres pedir ayuda con un error de conexión a Supabase. Este es el prompt malo:

❌ Prompt inseguro
TEXT
1Tengo este error al conectar:
2Error: connect ECONNREFUSED 192.168.1.45:5432
3Mi connection string es:
4postgresql://admin_carlos:C4rl0s_2024!@192.168.1.45:5432/ventas_produccion

Y este es el prompt correcto:

✅ Prompt seguro
TEXT
1Tengo un error ECONNREFUSED al conectar a PostgreSQL con Supabase.
2Connection string tiene formato: postgresql://user:pass@host:5432/dbname
3¿Qué puede causar este error y cómo lo depuro?

Configuraciones de Privacidad en los IDEs

La mayoría de herramientas de IA permiten ajustar qué datos se comparten:

HerramientaConfiguración clave
GitHub CopilotSettings → Copilot → desactivar "Allow GitHub to use my code snippets for product improvements".
CursorSettings → Privacy → activar "Privacy Mode" para que no se indexe el codebase.
ChatGPT / ClaudeDesactivar "Improve the model for everyone" en la configuración de la cuenta.

🔒 Desafío: Revisa tu entorno

Abre la configuración de privacidad de la herramienta de IA que usas (Copilot, Cursor, etc.) y verifica que la telemetría y el entrenamiento de modelos estén desactivados. Revisa tu archivo .gitignore para asegurar que .env no se suba al repositorio.

Quiz: Privacidad y Datos

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.