# Vault de Buenas Prácticas > Fichas de buenas prácticas (seguridad, autenticación, datos, IA, legal, pagos, arquitectura...) para auditar un proyecto de software contra checklists concretas. Cada ficha tiene un ID, una severidad (crítico/alto/medio) y fuentes oficiales verificables (OWASP, NIST, RGPD, PCI DSS...). Para auditar un proyecto COMPLETO contra las 48 fichas en una sola lectura, usa [llms-full.txt](/llms-full.txt). Para un caso concreto, usa el enlace de la ficha que aplique más abajo — cada uno apunta al .md en texto plano. ## Arquitectura - [ARQ-01 · crítico — Playbook de arquitecto de sistemas: de la idea a la estructura del proyecto](/vault-buenas-practicas/arquitectura/arquitecto-de-sistemas.md): Proceso repetible para pasar de "quiero hacer X" a un proyecto con estructura justificada. - [ARQ-02 · alto — Decisiones de arquitectura: monolito primero, tecnología aburrida y ADRs](/vault-buenas-practicas/arquitectura/decisiones-arquitectura.md): Las buenas decisiones de arquitectura comparten un patrón: - [ARQ-03 · medio — Caché y CDN: rendimiento que no se convierte en agujero](/vault-buenas-practicas/arquitectura/cache-y-cdn.md): La caché es la palanca de rendimiento más potente que tienes: - [ARQ-04 · alto — Costes y EDoS: que no te arruinen la factura antes que el servicio](/vault-buenas-practicas/arquitectura/costes-y-edos.md): En la arquitectura clásica, un ataque de denegación de servicio (DDoS) buscaba tumbarte el servidor. ## Autenticación - [AUTH-01 · crítico — Cómo hacer un login seguro](/vault-buenas-practicas/autenticacion/login-seguro.md): Un login mal hecho es la puerta de entrada más común para atacantes: - [AUTH-02 · alto — Gestión de sesiones y tokens](/vault-buenas-practicas/autenticacion/gestion-sesiones.md): Una vez el usuario ha superado el login (AUTH-01), ¿cómo recuerda tu app que sigue siendo él en la siguiente petición? Ahí empieza la gestión de sesiones. - [AUTH-03 · alto — Recuperación de contraseña (flujo 'olvidé mi contraseña')](/vault-buenas-practicas/autenticacion/recuperacion-contrasena.md): El flujo de "olvidé mi contraseña" es una puerta trasera al login: - [AUTH-04 · crítico — Autorización y control de acceso: que nadie vea lo que no es suyo](/vault-buenas-practicas/autenticacion/autorizacion-control-acceso.md): Broken Access Control es el riesgo n.º 1 del OWASP Top 10:2025: ## Seguridad - [SEC-01 · crítico — Validación de inputs: XSS, SQL Injection e inyección en general](/vault-buenas-practicas/seguridad/validacion-inputs.md): Nunca confíes en nada que venga del cliente —ni de otro sistema, ni de un archivo, ni de una respuesta de API—. - [SEC-02 · alto — Gestión de secretos y variables de entorno](/vault-buenas-practicas/seguridad/gestion-secretos.md): API keys, contraseñas de base de datos y tokens no deben vivir en tu código ni en tu repositorio, ni siquiera "temporalmente". - [SEC-03 · alto — HTTPS, cabeceras de seguridad y CORS](/vault-buenas-practicas/seguridad/cabeceras-https.md): El transporte y las cabeceras HTTP son la primera línea de defensa y la más ignorada, porque "la app funciona igual" sin ellas. - [SEC-04 · medio — Subida de archivos segura](/vault-buenas-practicas/seguridad/subida-archivos.md): Permitir que un usuario suba archivos es aceptar bytes arbitrarios en tu infraestructura. - [SEC-05 · alto — Dependencias y cadena de suministro](/vault-buenas-practicas/seguridad/dependencias-supply-chain.md): Tu aplicación es tu código más miles de paquetes de terceros que se actualizan sin preguntarte y que se ejecutan con tus permisos. - [SEC-06 · alto — Criptografía práctica: qué usar y qué no](/vault-buenas-practicas/seguridad/criptografia-practica.md): No inventes tu propia criptografía. - [SEC-07 · crítico — Respuesta a incidentes: el playbook de la primera hora](/vault-buenas-practicas/seguridad/respuesta-incidentes.md): Tarde o temprano algo se rompe: - [SEC-08 · alto — Dominios, DNS y certificados: el perímetro que caduca](/vault-buenas-practicas/seguridad/dominios-dns-certificados.md): La mayoría de los "nos han hackeado" de un proyecto pequeño no son exploits: ## IA / Desarrollo asistido - [IA-01 · crítico — Código generado por IA: verificar antes de confiar](/vault-buenas-practicas/ia/codigo-generado-por-ia.md): La IA escribe código plausible, no código correcto. - [IA-02 · crítico — Prompt injection y seguridad en aplicaciones con LLMs](/vault-buenas-practicas/ia/prompt-injection-llm.md): Si tu aplicación pasa texto a un LLM —de usuarios, webs, correos, PDFs subidos, resultados de una búsqueda— ese texto puede contener instrucciones. - [IA-03 · alto — Dependencias alucinadas y slopsquatting](/vault-buenas-practicas/ia/dependencias-alucinadas.md): Los LLMs recomiendan paquetes que no existen. - [IA-04 · alto — Secretos y datos sensibles al usar herramientas de IA](/vault-buenas-practicas/ia/secretos-y-datos-con-ia.md): La IA acelera el desarrollo y también los errores. - [IA-05 · alto — Agentes de IA con guardarraíles: permisos, sandbox y supervisión](/vault-buenas-practicas/ia/agentes-con-guardarrailes.md): Dar "vía libre" a un agente que ejecuta comandos, instala paquetes y hace commits es dar acceso de escritura a un proceso que cualquier texto que lee puede manipular… ## Datos - [DATA-01 · alto — Buenas prácticas al manejar bases de datos](/vault-buenas-practicas/datos/bases-de-datos.md): Más allá de evitar inyección SQL (SEC-01), la base de datos es donde vive lo único verdaderamente irreemplazable de tu app: - [DATA-02 · alto — Privacidad y datos personales: minimiza desde el diseño](/vault-buenas-practicas/datos/privacidad-datos-personales.md): El RGPD exige protección de datos desde el diseño y por defecto (artículo 25): ## Correo - [MAIL-01 · medio — Envío de correo seguro y confiable](/vault-buenas-practicas/correo/envio-correos.md): Enviar correos "que salgan" es fácil; enviar correos que lleguen a la bandeja de entrada (no a spam) y que nadie pueda falsificar con tu dominio es otro nivel. ## APIs - [API-01 · medio — Diseño de APIs: autenticación, versionado y rate limiting](/vault-buenas-practicas/apis/diseno-apis.md): Una API bien diseñada hace tres cosas: ## Infraestructura - [INFRA-01 · medio — Logging y monitoreo](/vault-buenas-practicas/infraestructura/logging-monitoreo.md): Buenos logs te salvan cuando algo falla en producción a las 3 de la mañana; malos logs son un riesgo de seguridad en sí mismos (un console.log(req.body) en el login… - [INFRA-02 · alto — Checklist antes de lanzar a producción](/vault-buenas-practicas/infraestructura/checklist-pre-produccion.md): Una lista para repasar antes de que tu proyecto vea usuarios reales. - [INFRA-03 · alto — CI/CD seguro: el pipeline también es superficie de ataque](/vault-buenas-practicas/infraestructura/ci-cd-seguro.md): El pipeline guarda tus secretos, construye tus artefactos y despliega a producción con permisos que ningún desarrollador tiene: - [INFRA-04 · medio — Docker y contenedores: imágenes mínimas y sin root](/vault-buenas-practicas/infraestructura/docker-contenedores.md): Un contenedor no es una frontera de seguridad por defecto: - [INFRA-05 · alto — Infraestructura como código y seguridad cloud: nadie hace clic en producción](/vault-buenas-practicas/infraestructura/iac-seguridad-cloud.md): Docker te da la caja (INFRA-04) y el CI/CD la despliega (INFRA-03); esta ficha es la capa de encima: - [INFRA-06 · crítico — Copias de seguridad y recuperación: el ensayo que nadie hace](/vault-buenas-practicas/infraestructura/backups-y-recuperacion.md): El código se reescribe; los datos, no (DATA-01). ## Testing - [TEST-01 · alto — Estrategia de testing: la pirámide y qué testear primero](/vault-buenas-practicas/testing/estrategia-de-testing.md): La pirámide de tests: ## Control de versiones - [GIT-01 · medio — Commits, ramas y pull requests que se pueden leer](/vault-buenas-practicas/control-versiones/commits-y-ramas.md): El historial de git es documentación que te escribes a ti mismo del futuro. - [GIT-02 · alto — Code review efectivo (también para código de IA)](/vault-buenas-practicas/control-versiones/code-review.md): La revisión de código es la última barrera humana antes de producción, y con la IA generando más código que nunca, revisar bien importa más, no menos (IA-01). ## Diseño / Frontend - [FE-01 · medio — Accesibilidad y buenas prácticas de UX](/vault-buenas-practicas/diseno-frontend/accesibilidad-ux.md): Buen diseño no es "que se vea bonito": - [FE-02 · medio — Manejo de errores en frontend y backend](/vault-buenas-practicas/diseno-frontend/manejo-errores.md): Cómo comunicas un error importa en dos frentes a la vez: - [FE-03 · medio — Rendimiento web: Core Web Vitals](/vault-buenas-practicas/diseno-frontend/rendimiento-web.md): Google mide la experiencia real de tu web con tres métricas, y son a la vez experiencia de usuario y factor de posicionamiento en búsqueda. ## Legal - [LEGAL-01 · crítico — RGPD en la práctica: obligaciones legales al tratar datos personales](/vault-buenas-practicas/legal/rgpd-cumplimiento.md): Si tu aplicación trata datos de personas en la UE (un email ya es un dato personal), el RGPD te aplica desde el primer usuario, tengas el tamaño que tengas y cobres o no. - [LEGAL-02 · alto — Cookies y consentimiento: el banner que no te multa](/vault-buenas-practicas/legal/cookies-consentimiento.md): Las cookies no esenciales (analítica, publicidad, personalización) requieren consentimiento previo e informado. - [LEGAL-03 · alto — Aviso legal y términos de servicio: la LSSI y tus condiciones](/vault-buenas-practicas/legal/aviso-legal-terminos.md): En España, cualquier web o app con actividad económica (vender, tener publicidad, afiliados, captar clientes) debe cumplir la LSSI-CE: - [LEGAL-04 · alto — Licencias de software: la tuya y las de tus dependencias](/vault-buenas-practicas/legal/licencias-software.md): Cada dependencia de tu package.json es un contrato que ya has aceptado. - [LEGAL-05 · medio — Propiedad intelectual: tu código, el código de la IA y los assets de otros](/vault-buenas-practicas/legal/propiedad-intelectual-ia.md): Antes de lanzar conviene tener claras cuatro cosas que duelen si se descubren tarde: ## Mercado - [MKT-01 · crítico — Checklist legal-normativo para lanzar un producto digital en la UE/España](/vault-buenas-practicas/mercado/checklist-legal-lanzamiento.md): Lanzar en la UE en 2026 implica más normas que hace tres años, y varias con fechas que caen justo ahora. - [MKT-02 · alto — Publicar en App Store y Google Play sin que te rechacen](/vault-buenas-practicas/mercado/publicar-app-stores.md): Publicar una app no es git push: - [MKT-03 · alto — Vender online a consumidores: desistimiento, garantías e IVA](/vault-buenas-practicas/mercado/vender-online-consumidores.md): Vender B2C en la UE viene con derechos del consumidor que no puedes pactar en contra y con un IVA que depende del país del cliente. ## Pagos - [PAY-01 · crítico — Pasarelas de pago: elegir bien e integrar sin agujeros](/vault-buenas-practicas/pagos/pasarelas-de-pago.md): Dos decisiones definen tu integración de pagos: - [PAY-02 · alto — PCI DSS y SCA: lo que la ley y las redes de tarjetas te exigen](/vault-buenas-practicas/pagos/pci-dss-sca.md): Aceptar tarjetas te mete en dos marcos a la vez: - [PAY-03 · alto — Suscripciones y facturación: cobrar cada mes sin liarla](/vault-buenas-practicas/pagos/suscripciones-facturacion.md): Un SaaS de suscripción es, en el fondo, un sistema de facturación con una app alrededor. ## Optional - [AGENTS.md](/vault-buenas-practicas/AGENTS.md): protocolo de activación (tarea → fichas aplicables, severidades, protocolo de arquitecto) para agentes de código que trabajan DENTRO de un proyecto que referencia este vault. - [README.md](/vault-buenas-practicas/README.md): índice humano completo, con severidades y referencias troncales.