# Inicios de sesión y cuentas

> Las cuentas y los inicios de sesión permiten que tu app reconozca a cada persona cuando vuelve y proteja sus datos privados mediante Better Auth, una base de datos y una clave secreta invisible, y solo se añaden cuando tu app necesita recordar de verdad quién es cada cual.

## Analogía

Un parque público no pide identificación en la entrada, porque cualquiera puede pasar. Un gimnasio sí, porque guarda tu taquilla y tu abono asociados a ti; y en lugar de fabricar tú el torno desde cero, instalas un sistema de cierre ya probado.

## Cómo funciona

Cada app lleva solo lo que necesita: si tu app es una calculadora, un directorio o una web personal donde nada pertenece a una persona concreta, ahorra las cuentas. Cuando tu spec exige guardar datos propios entre visitas, necesitas tanto una database (Neon) como una biblioteca de acceso (**Better Auth**).

Cuando alguien inicia sesión, Better Auth crea una **sesión**: un pase firmado que se guarda en una cookie segura del navegador y dice «este navegador ha entrado como tal persona» hasta que caduca o cierra sesión. Para firmar esos pases con seguridad, tu app usa dos ajustes en env-var: `BETTER_AUTH_URL` (la dirección de tu web, o `http://localhost:3000` en tu equipo) y `BETTER_AUTH_SECRET` (un secret aleatorio que tu agente genera y envía directo a `.env.local` y a vercel sin mostrarlo jamás en el chat).

Nunca dejes que un agente invente su propio sistema de contraseñas. Usar Better Auth con su skill de seguridad te da cifrado seguro de contraseñas, protección frente a peticiones falsificadas (**CSRF**), orígenes de confianza para los enlaces de preview y reglas de rate-limit guardadas en la base de datos para que nadie pueda probar miles de contraseñas por minuto.

Mostrar la pantalla de acceso en el frontend es solo la mitad del trabajo. Cada acción del backend que lea o cambie datos privados debe comprobar primero la sesión en el servidor y verificar que quien ha entrado tiene permiso para tocar ese dato.

## En tu proyecto

Cuando tu plan llega a los inicios de sesión, tu agente carga las skills `better-auth-best-practices` y `better-auth-security-best-practices`, genera un `BETTER_AUTH_SECRET` nuevo sin mostrarlo para `.env.local` y otro para Vercel, crea las tablas de acceso en tu rama de desarrollo de Neon y construye las pantallas de registro, entrada y salida.

## Copia para tu agente

```text
Comprueba si el SPEC.md de mi app necesita de verdad cuentas de usuario. Si las necesita, explícame cómo configuraremos Better Auth con límites de uso en la base de datos y secretos invisibles antes de escribir código.
```

---
Fuente: [Agentic Makers](https://agenticmakers.app/es/aprende/inicios-de-sesion-y-cuentas) · Licencia: CC BY 4.0
