Las herramientas de codificación de IA cambian qué sale de tu máquina, quién puede leer un prompt, y qué termina en un pull request. Esta lista de verificación le da a un equipo de desarrollo una respuesta repetible a «¿es seguro pegar esto?» y «¿es seguro hacer merge de esto?», sin leer cada página de términos del proveedor desde cero. Cada afirmación de política de datos debajo está respaldada por una fuente oficial; cualquier cosa que no pudimos verificar está marcada en su lugar en lugar de adivinada.

Privacidad de datos: qué sale de la máquina

Cada asistente de IA envía prompts y contexto a servidores de un proveedor. La verdadera pregunta es qué pasa después, y cuál configuración controla eso.

Verificación Por qué Cómo verificar
Privacy Mode de Cursor está activado, o aplicado a nivel de equipo Cursor declara que el código no se usa para entrenamiento por Cursor o sus proveedores de modelo, bajo acuerdos de retención cero de datos (ZDR) Settings → General → Privacy Mode; administradores lo aplican desde el panel de equipo
Conoces qué modelos de Cursor quedan fuera de ZDR Algunos modelos necesitan retención del lado del proveedor para revisión de seguridad y aprobación de administrador incluso con Privacy Mode activado Ver «Models with data retention» en documentos empresariales de privacidad de Cursor
Exclusión de contenido de Copilot cubre rutas pesadas de secretos Las rutas excluidas quedan fuera de sugerencias inline y Copilot Chat en el IDE Repo Settings → Copilot → Content exclusion, o una regla "*": ["/.env"] a nivel de org
Conoces la brecha de exclusión de contenido Copilot CLI y modo agente en Copilot Chat no soportan exclusión de contenido, según documentos de GitHub Trata sesiones de CLI y agente como no protegidas por esa configuración
Workspace de ChatGPT es Business/Enterprise/Edu para trabajo de cliente El predeterminado de OpenAI es no entrenar en entradas/salidas de estos workspaces o la API; cuentas personales difieren Verifica el tipo de workspace antes de pegar material de cliente
La excepción de botón de retroalimentación en cuentas personales es conocida En Free/Plus/Pro, un pulgar arriba/abajo puede dejar que OpenAI use esa conversación completa incluso después de una exclusión general No califiques una conversación que contiene algo sensible en una cuenta personal
Uso de Claude para trabajo de cliente es Team/Enterprise/API Anthropic declara no entrenar por defecto en estos planes; Free/Pro/Max de consumidor (incluyendo Claude Code de ellos) puede optar por participar code.claude.com/docs/en/data-usage
Ubicación de transcripción de Claude Code es revisada Las transcripciones viven en plaintext bajo ~/.claude/projects/ por 30 días por defecto, ajustable vía cleanupPeriodDays Acorta retención en una máquina compartida o de cliente
PII se elimina antes de pegar en cualquier lugar arriba Una promesa de política de entrenamiento no es una promesa de control de acceso; los clasificadores de seguridad aún pueden ver contenido marcado Redacta nombres, emails, IDs de cuenta de logs antes de pegar

Eso es un problema de configuración, no una razón para evitar estas herramientas. La hoja de trucos de Cursor cubre dónde estos controles viven día a día.

Secretos: nunca en prompts, atrapados antes de que se vayan

Una política de entrenamiento es irrelevante si un secreto ya salió de tu máquina en un commit o un log pegado.

Verificación Por qué Cómo verificar
Ningún secreto es tipado o pegado en un prompt Cualquier herramienta de chat puede retener texto marcado independientemente de configuraciones de entrenamiento Grep exportaciones de prompt para AKIA, -----BEGIN, Bearer, password=
.env* y archivos de credenciales están en .gitignore Evita el commit accidental más común antes de que se necesite un scanner git check-ignore -v .env imprime un coincidencia
gitleaks se ejecuta pre-commit Atrapa un secreto hardcodeado antes de que salga de tu máquina, independiente de cualquier herramienta de IA pre-commit run gitleaks --all-files falla en un secreto de prueba plantado
gitleaks también escanea el historial de git Un secreto removido después es aún legible en el historial a menos que sea reescrito gitleaks git -v --redact escanea patches vía git log -p
Un hook de Claude Code/Cursor bloquea lecturas de .env Evita que un agente jale contenidos de archivo secreto en su propio contexto, no solo bloqueando ediciones Pide al agente abrir .env; la llamada debe ser denegada. Setup completo: guía de hooks de Claude Code
CI ejecuta su propio escaneo de secreto como respaldo Atrapa --no-verify, un commit de web-UI, o un hook local faltante Un trabajo gitleaks (o equivalente) en pull_request y push

Validación de código generado

Código de IA suena tan confiado erróneamente como correctamente. Porta como cualquier otro diff, más una verificación que esta fuente necesita.

Verificación Por qué Cómo verificar
Cada función generada envía con una prueba de pase Confianza en tono no tiene correlación con corrección CI bloquea merge sin una prueba; ver TDD asistido por IA
El mismo linter/SAST se ejecuta en diffs authored por IA Ninguna exención de IA hace un diff más seguro; velocidad de revisión es el riesgo real Ninguna exclusión de ruta para commits marcados por IA en CI
Nuevos nombres de dependencia son verificados contra el registro real Un modelo puede nombrar un paquete que no existe — una dependencia alucinada o «slopsquatted» que un atacante puede registrar npm view <package> o pip index versions <package> antes de instalar
Dependencias verificadas son fijadas, no ranged Un rango unfijado puede resolver a una liberación posterior que nadie revisó Fija en package.json/requirements.txt, commitea el lockfile
Bloques generados distintivos obtienen una verificación de licencia Un snippet puede reproducir estrechamente una fuente licenciada y llevar su licencia Busca una coincidencia cercana antes de enviar un bloque largo, estilísticamente específico

Controles de alucinación

Una alucinación es un hecho erróneo entregado tan confidentemente como uno correcto. Estos controles son sobre dónde un humano vuelve al bucle.

Verificación Por qué Cómo verificar
Agente cita una fuente para reclamos de API/flag/limit Reduce, no elimina, respuestas confidentemente erróneas sobre detalles de versión Pregunta «qué página de doc dice eso» antes de actuar en ello
Un humano revisa el diff actual, no un resumen Los resúmenes omiten el detalle que importa git diff en el commit, no la descripción del agente
Auto-merge/auto-apply está apagado para cambios de agente Elimina el checkpoint más probable de atrapar una alucinación Protección de rama requiere revisión humana aprobada
Agente es dicho decir «unknown», no adivinar Un hecho faltante disfrazado como respuesta confiada es el tipo costoso Prompt: «If a required fact is missing, list it under Unknown.» Ver flujo de trabajo agentico de validación

Cadena de suministro: servidores MCP como código de terceros

Un servidor MCP es un programa que el host lanza y confía con acceso de herramienta. El protocolo no lo coloca en sandbox — tú lo haces.

Verificación Por qué Cómo verificar
Cada servidor MCP se trata como código de terceros Un servidor stdio comparte el dominio de confianza del host; las propias notas de seguridad del protocolo dicen que no hay sandbox Revisa fuente/editor antes de aprobar; ver Servidores MCP explicados
Servidor se fija a una versión, no latest Un servidor unfijado puede cambiar comportamiento o permisos después de aprobación Fija command/args a una versión etiquetada en mcp.json
Permisos y herramientas alcanzables se revisan primero Un servidor descuidado puede dirigir cómo el agente usa cada otra herramienta en la sesión /mcp en Claude Code, o Output → MCP Logs en Cursor
Secretos viven en el bloque env propio del servidor Un perfil de shell compartido es legible por cada proceso que el host lanza Verifica entrada env del servidor, no .bashrc/.zshrc
Servidores remotos usan tokens de corta vida sobre HTTPS Un token de larga vida en un archivo config es una fuga permanente, la misma clase de riesgo que acceso demasiado amplio (ver docker-sock-permission-denied) Config referencia ${env:NAME}, nunca un token crudo

Regulaciones a ser consciente de

Solo informativo, no asesoramiento legal — consulta con consejo antes de hacer un reclamo de cumplimiento a un cliente o regulador.

Verificación Por qué Cómo verificar
Sabes si eres proveedor de «modelo de IA de propósito general» bajo EU AI Act Fine-tuning, hospedaje, o redistribución de un modelo GPAI puede disparar obligaciones de Artículo 53 — documentos técnicos, política de derechos de autor, resumen público de contenido de entrenamiento Página de obligaciones GPAI de EU Digital Strategy; AI Act Service Desk Artículo 53
El nivel «riesgo sistémico» se conoce como separado y más pesado Solo modelos clasificados por Comisión de riesgo sistémico deben evaluación, reporte de incidentes, y obligaciones de ciberseguridad bajo Artículo 55 AI Act Service Desk FAQ en riesgo sistémico
Un campo de prompt que puede identificar a una persona es GDPR datos personales Artículo 4(1) lo define ampliamente: un nombre, email, ID de dispositivo, o nota identificadora todos califican EUR-Lex Artículo 4(1)
La línea «sin entrenamiento» de un proveedor se lee como política de entrenamiento, no garantía de cumplimiento Cubre solo el procesamiento del proveedor; tu org es usualmente aún el controlador por cómo datos llegaron ahí Verifica quién está nombrado «controlador» en el DPA del proveedor, no solo la página de marketing

Plantilla de política de equipo

Pega en AI_POLICY.md; ajusta nombres de herramientas y niveles de plan a tus licencias de org.

# Política de Uso de Herramientas de IA

## Alcance
Claude Code, Cursor, GitHub Copilot, ChatGPT — cualquiera trabajando en este
repositorio o en entregas de cliente.

## Cuentas aprobadas
- Cuentas solo comercial/Team/Enterprise para trabajo de cliente o producción.
- Cuentas personales son solo para aprender y código abierto.
- Confirma Privacy Mode / content exclusion / workspace type antes de
  tocar código o datos nuevos de cliente.

## Nunca pegues
- Credenciales, claves de API, tokens, kubeconfigs, claves privadas.
- PII de cliente: nombres, emails, IDs de cuenta, notas identificadoras.
- Cualquier cosa bajo una ruta .gitignore o Copilot content-exclusion.

## Código generado
- Envía con una prueba, pasa la puerta lint/SAST existente.
- Nuevas dependencias verificadas en el registro real, luego fijadas.
- Un humano revisa el diff antes del merge. No auto-merge.

## Servidores MCP
- Revisados por fuente, permisos, y versión fijada antes de que cualquier
  miembro del equipo se conecte.
- Secretos viven en config de env propio del servidor, nunca un shell compartido.

## Incidentes
- Un secreto pegado es una credencial filtrada: rótalo inmediatamente.
- Reporta una dependencia alucinada sospechosa, o un diff de IA merged
  que rompió algo, a #eng-incidents el mismo día.

## Revisión
Revisado trimestralmente cuando términos de proveedor cambian.

Patrones que reutilizarás

  • Escaneo de secreto pre-commit: pre-commit install && pre-commit run gitleaks --all-files
  • Escanea historial git completo: gitleaks git -v --redact
  • Omite el hook a propósito: SKIP=gitleaks git commit -m "..."
  • Bloquea lecturas de .env en un hook PreToolUse de Claude Code (matcher ^Read$): jq -r '.tool_input.file_path' | grep -qE '\.env(\.|$)' && exit 2 || exit 0
  • Verifica que un paquete exista antes de instalar: npm view <package> o pip index versions <package>
  • Fija un servidor MCP en lugar de latest: usa una etiqueta exacta en command/args
  • Fuerza «unknown» sobre una adivinanza: «If a required fact is missing, list it under Unknown. Do not fill it in.»

Preguntas frecuentes

¿El modo de privacidad de Cursor evita que mi código se use para entrenamiento?

Con Privacy Mode activado, Cursor dice que tu código no se usa para entrenamiento por Cursor o por los proveedores de IA que llama, bajo acuerdos de retención cero de datos. Algunos modelos caen fuera de ese acuerdo y necesitan aprobación de administrador separada. Privacy Mode está desactivado por defecto para individuos y activado por defecto para equipos Enterprise.

¿GitHub Copilot ve archivos que he excluido, incluyendo en modo agente?

La exclusión de contenido del repositorio y organización evita que rutas excluidas lleguen a sugerencias inline y Copilot Chat en el IDE. Los documentos de GitHub dicen que Copilot CLI y modo agente en Copilot Chat no soportan exclusión de contenido, así que trata sesiones de agente y CLI como no protegidas por ese control.

¿Los datos de ChatGPT Team o Enterprise se usan para entrenar modelos de OpenAI?

Por defecto, OpenAI no usa entradas o salidas de ChatGPT Business, Enterprise, Edu, o la API para entrenar modelos. Una organización puede optar por participar. En cuentas personales Free, Plus, o Pro, enviar retroalimentación de pulgar arriba o pulgar abajo aún puede dejar que OpenAI use esa conversación incluso después de una exclusión general.

¿Cómo difiere la política de datos de Claude Code entre un plan personal y un plan Team o Enterprise?

En una cuenta personal Free, Pro, o Max, elige si tus chats y sesiones de codificación mejoran futuros modelos. En cuentas Team, Enterprise, API, y Claude Gov, Anthropic no entrena en tu código o prompts a menos que la organización explícitamente opte por participar, por ejemplo a través del Programa de Socio de Desarrollo.

¿Cómo atrapo una dependencia generada por IA que realmente no existe?

Busca el paquete en el registro real antes de instalarlo. Para npm, ejecuta npm view <package>; para pip, ejecuta pip index versions <package>. Una búsqueda fallida significa no instalar — un nombre no existente es también un slot que un atacante puede registrar y enviar malware bajo.

Cómo se verificó esta guía

Escrita a mano a partir de la documentación oficial, con cada comando comprobado de nuevo y una segunda revisión antes de publicar. Última revisión: .

Fuentes oficiales consultadas para este artículo

Share.

Los comentarios están cerrados.