Saltar al contenido

La seguridad en una hoja

Lo que tienes que cuidar, en una sola hoja: lo que nunca le das a nadie, tus llaves y los datos de tus clientes. Si una llave se filtra, aquí está qué hacer el mismo día.

Lo que nunca va en el chat

Lo que nunca le das a Claude

Puedes contarle a Claude todo sobre tu negocio. Pero hay cosas que no le darías ni a la persona de más confianza:

  • Contraseñas.
  • Números de tarjeta o de tu cuenta de banco.
  • Datos de otras personas sin su permiso, como el teléfono o la dirección de una clienta.

Claude no necesita nada de eso para ayudarte: para entender tu negocio le basta con saber cuántas clientas atiendes o qué te piden más, no quiénes son. Si pegaste una contraseña por error, cámbiala de inmediato.

De la lección 1.4 «Usar Claude con cuidado»

Y nunca una llave secreta

Ni en el chat, ni en tu página, ni en GitHub. Antes de pegar una llave, mira cómo empieza: si dice sb_secret_ o sk_, es secreta y va directo a tu archivo .env o a Netlify, nunca a una conversación.

Tus llaves

Las llaves de Supabase

Tu app le pide datos a Supabase por su API: la puerta por la que un programa le pide algo a otro. Para cruzarla hace falta una llave, y Supabase da dos muy distintas:

Llave publicable

  • Empieza con sb_publishable_
  • No es secreta: va en tu página
  • Solo abre lo que tus reglas permiten

Llave secreta

  • Empieza con sb_secret_
  • Abre todo y se salta tus reglas
  • Nunca en tu página, GitHub ni un chat

Piénsalo asíSupabase lo explica así: tu proyecto es un edificio. La llave publicable está pegada en la entrada y solo abre el vestíbulo; la secreta es la llave maestra y se queda en tu bolsillo.

De la lección 6.2 «Llaves y secretos»

Las llaves de Stripe

Como Supabase, Stripe te da una llave publicable y una secreta, y cada modo tiene las suyas. Se reconocen por cómo empiezan, y eso te salva de un error que pasa seguido: pegar una en el lugar de otra.

pk_
La publicable. Puede ir en la página de tu app.
sk_
La secreta. Solo en Netlify y en tu .env. Stripe dice que su gente nunca te la va a pedir.
_test_ o _live_
Lo que sigue dice el modo: pk_test_ es de prueba; pk_live_, real. Las _live_ solo van en Production.

Mercado Pago es otra opción para cobrar en México; en el curso usamos Stripe.

De la lección 7.6 «Cobrar con Stripe»

Dónde se guardan tus llaves

Las llaves no se escriben en el código: van en variables de entorno, un lugar aparte que tu app lee al arrancar. En tu computadora viven en un archivo llamado .env, en la carpeta principal de tu proyecto, y Claude lo deja fuera de GitHub. La publicable no es secreta, pero va en el mismo archivo por orden: un solo lugar para todas tus llaves. La secreta solo la usa el servidor de tu app, para cosas delicadas como cerrar una cuenta, y la pegas en la lección 6.5, cuando haga falta.

De la lección 6.2 «Llaves y secretos»

Si se filtra una llave

Hazlo el mismo día

Quien la tenga puede ver y cambiar todo tu proyecto. Actúa de inmediato, como con una contraseña (lección 1.4), y en el orden que recomienda Supabase:

  1. 1Cierra la fugaVe de dónde salió y quítala de ahí, para que no se repita.
  2. 2Crea una nuevaEn Supabase, en Settings › API Keys de tu proyecto.
  3. 3Cámbiala donde se usaClaude te dice en qué lugares y confirma que todo usa la nueva.
  4. 4Borra la viejaAhí deja de servir. No se puede deshacer.

Si llegó a GitHub, dala por pública aunque borres el archivo: sigue en el historial. Lo que la apaga es borrarla en Supabase.

De la lección 6.2 «Llaves y secretos»

Instrucciones escondidas

Lo que Claude lee de fuera (un correo, el comentario de un cliente, una página) puede traer instrucciones escondidas para engañar a una IA, como un recado falso que dice «de parte del jefe». Supabase lo advierte en su guía del conector. Por eso das a cada conector solo el permiso que necesita, lees cada permiso antes de aprobarlo y nunca dejas que tus clientes usen tus conectores.

De la lección 6.2 «Llaves y secretos»

Los datos de tus clientes

Pide solo lo necesario

Cada dato que guardas es algo que te toca cuidar. ¿Para qué quieres la fecha de nacimiento de alguien que solo viene a cortarse el pelo? Si tu app no lo necesita, no lo pidas: menos datos es menos riesgo y menos trabajo. La ley, además, pide usarlos solo para lo que dijiste.

Necesario para una cita

  • Nombre
  • Correo o teléfono
  • Día y hora

Sobra

  • Dirección completa
  • Fecha de nacimiento
  • Identificación

De la lección 6.5 «Datos personales»

Los derechos de las personas

En México, la Ley Federal de Protección de Datos Personales en Posesión de los Particulares, publicada el 20 de marzo de 2025, da a cada persona derecho a acceder a sus datos, corregirlos, cancelarlos y oponerse a su uso: los derechos ARCO. Si alguien los pide, tienes hasta 20 días para responderle. Tu aviso de privacidad, que dice qué guardas y para qué, lo redactas en la lección 7.8.

Esto no es asesoría legal. Tu aviso de privacidad lo debe revisar un abogado, y no hay una tarifa oficial: cada quien cobra distinto y puede costar más que este curso. Pide cotización antes.

De la lección 6.5 «Datos personales»

Cerrar una cuenta: bloqueo primero

La ley no pide borrar al instante: pide bloquear primero y borrar después. Así se ve en tu app:

  1. 1La persona lo pideDesde su propia cuenta, para que sea ella y no alguien más.
  2. 2Se bloqueaYa no entra, y sus datos no se usan ni se ven en tu app.
  3. 3Pasa el plazoEl que te diga tu abogado. Si se arrepiente antes, la reactivas.
  4. 4Se borra y le avisasSu cuenta y todo lo suyo.

De la lección 6.5 «Datos personales»

Tu respaldo, fuera de la app

El plan gratis no guarda respaldos automáticos, y Supabase recomienda que tú saques una copia seguido y la guardes en otro lugar. Claude te arma una herramienta de respaldo que solo corre en tu computadora: nunca un botón en tu app, que alguien podría encontrar. Guarda el archivo fuera de la carpeta del proyecto, para que no suba a GitHub. Y un respaldo que nunca restauraste no sabes si sirve.

Piénsalo asíEs como el simulacro de sismo: lo practicas cuando no pasa nada, para saber qué hacer cuando sí pase.

De la lección 6.5 «Datos personales»

Antes de abrir a tus clientes

Tu lista de revisión

Antes de dar por cerrado este nivel, repásala punto por punto:

  • Todas las tablas tienen RLS y sus reglas.
  • La prueba del intruso sale bien: sin cuenta no sale nada y otra cuenta solo ve lo suyo.
  • Ninguna llave secreta en el código, en GitHub ni en un chat.
  • Tu app pide solo los datos necesarios y tu respaldo ya se restauró una vez.
  • El freno al abuso funciona y el conector solo ve tu proyecto de prueba.

De la lección 6.6 «Revisa tu seguridad»