> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Seguridad y privacidad

Rate limits, secretos, exportación de datos y la pista de auditoría.

## Guía paso a paso para principiantes

Requisitos previos: lea las dos guías para principiantes a continuación, finalice la configuración local web y abra este monorepo en la raíz de su editor. La configuración web pertenece a `apps/web/.env.local`; Next.js no lee la raíz `.env`. `/dashboard` en el modo falso predeterminado es una demostración sin base de datos; `/auth` necesita una base de datos migrada.

Términos breves: un espacio de trabajo son los usuarios, datos y configuraciones separados de un equipo. El servidor es el backend confiable; Mantenga las claves del proveedor fuera del código del navegador y del teléfono. Una migración es un cambio de base de datos versionada que crea o actualiza tablas. Un modelo de IA es el motor que responde; el catálogo de modelos es la lista del servidor de ID de modelos disponibles y precios. Un proveedor es un servicio externo, como inteligencia artificial, correo electrónico o servicio de facturación. Un derecho es una concesión que permite que un espacio de trabajo utilice una función. Un webhook es un mensaje que un servicio envía al URL de otro servicio.

1. En la acción o ruta del servidor que lee un registro propiedad del usuario, resuelva la membresía del usuario que inició sesión y active `workspaceId` antes de realizar la consulta.

2. Pídale a su agente que agregue un caso de miembro permitido y una denegación de espacio de trabajo extranjero para la ruta de registro exacta; proporcionar los roles y campos involucrados.

3. La primera solicitud debería tener éxito y la segunda no debería devolver ningún registro/acceso denegado. Si cambiar solo el botón oculta el acceso pero las solicitudes directas aún funcionan, falta el límite del servidor.

Para obtener código personalizado, comience con el `prompts/README.md` proporcionado y copie el mensaje más cercano: `prompts/new-app-screen.md` para una pantalla de aplicación o `prompts/new-landing-page.md` para una página pública. Para trabajos de servidor, base de datos o proveedor, asigne a su agente de codificación la tarea de esta guía y pídale que lea `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` y los espejos `.ai/` correspondientes; inspeccionar los archivos fuente exactos nombrados aquí; enumerar archivos y verificaciones antes de editarlos; preservar la propiedad del espacio de trabajo y los secretos exclusivos del servidor; y mostrarte la diferencia. Dígale el comportamiento que desea, los campos de entrada y salida, los roles permitidos, los éxitos y errores esperados y la cuenta, proveedor o dispositivo de prueba. Utilice valores de muestra; Nunca pegues un verdadero secreto.

[Antes de comenzar](https://supastack.dev/es/docs/web/before-you-start.md)

[Conceptos básicos de terminales](https://supastack.dev/es/docs/web/terminal-basics.md)

[Configuración local web](https://supastack.dev/es/docs/web/ship-in-5-minutes.md)

[Mensajes del agente y memoria del proyecto](https://supastack.dev/es/docs/web/agents.md)


## Resuelve la membresía antes de acceder a datos

La sesión elige la identidad; el servidor resuelve el espacio de trabajo activo y verifica la membresía/el rol. Cada registro propiedad de usuarios usa `workspaceId`. Un campo del cliente, un ID de URL o un argumento seleccionado por un modelo no puede reemplazar esa comprobación de propiedad.

Los recursos de marketing de plataforma y los registros de administración de plataforma tienen un ámbito de plataforma explícito; no inventes un espacio de trabajo para entradas anónimas de la lista de espera.


## Mantén el límite en el trabajo asíncrono

Las tareas, trabajos, el contexto de herramientas, las claves de API, el contenido, el almacenamiento y los eventos salientes heredan el espacio de trabajo autenticado. Comprueba los ID de recursos junto con la propiedad. Permitir un ID válido de otro espacio de trabajo sigue siendo un fallo de autorización.


## Escribe primero las pruebas de denegación

Combina cada lectura/mutación correcta con pruebas anónimas, de otro espacio de trabajo y de rol insuficiente. Nunca expongas secretos al diagnosticar una denegación.

[Contratos de espacio de trabajo](https://supastack.dev/es/docs/modules/workspaces.md)

[Receta de página protegida](https://supastack.dev/es/docs/web/first-feature.md)

[Contexto de herramienta inyectada por el servidor](https://supastack.dev/es/docs/web/project-structure.md)


## Configuración y ajustes

rate-limit-runtime proporciona el limitador compartido conectado a las rutas de auth, checkout, API y envío — extiéndelo a nuevos endpoints sensibles a abuso en lugar de inventar contadores por ruta. La configuración de sesión, las cookies solo-HTTPS y los secretos de proveedor permanecen del lado del servidor.

Los registros de auditoría del workspace (audit-runtime.ts) capturan cambios relevantes para la seguridad — configuración de proveedor, actualizaciones de miembros y roles — y se pueden leer en /settings/audit.

```
# Data subject export
src/data-export.ts — assembles a member's
workspace-owned records for account export
```


## Flujo de implementación

Mantén las credenciales fuera de logs, payloads de error, propiedades de analytics y valores de auditoría — la capa de observabilidad redacta claves conocidas, pero el texto libre es responsabilidad del autor. Resuelve la autorización en el servidor para cada lectura y escritura; el estado de la interfaz es presentación, no prueba.

La exportación de datos de la cuenta y las solicitudes de eliminación pasan por el límite de la cuenta para que se apliquen las mismas reglas de propiedad. Almacena solo los datos que el producto necesita.


## Verificación y solución de problemas

Ejercita el limitador hasta que devuelva un 429 reintentable, verifica que aparecen filas de auditoría para las mutaciones que deberían producirlas, y exporta los datos de un miembro de prueba. Sondea una lectura entre workspaces por release — la regresión más barata que importa.


## Siguiente

[Protección antispam](https://supastack.dev/es/docs/web/captcha.md)
