$javi-kl_

Avatar default

Passwords-Secure-Vault

Imagen de Passwords-Secure-Vault Imagen de Passwords-Secure-Vault Imagen de Passwords-Secure-Vault

Backend de un gestor de contraseñas con autenticación JWT y cifrado de bóveda.

Proyecto enfocado en seguridad y buenas prácticas con FastAPI.

Stack

FastAPI / Python - PostgreSQL / SQLAlchemy - Argon2id - Fernet - JWT - zxcvbn - slowapi - Alembic - pytest

Documentación completa en github /docs.

Algunas de las decisiones importantes.

Longitud mínima 14 + zxcvbn score ≥ 2. La longitud es la primera defensa; zxcvbn analiza entropía real detectando secuencias, repeticiones y patrones de teclado.

Sin recuperación de contraseña maestra. La contraseña es el único material de derivación de la clave de cifrado. Sin ella, los datos son irrecuperables.

SECRET_KEY validada al arrancar (mínimo 32 caracteres). Si falta o es corta, la app no arranca.

Mensajes de error genéricos en login. No se revela si el fallo fue por email inexistente o contraseña incorrecta.

Sin reglas de composición (mayúsculas, números, símbolos). OWASP desaconseja forzarlas: reducen la entropía real al incentivar patrones predecibles.

Tests

46 tests que cubren login, registro, CRUD, cifrado, ownership, rate limiting, y re-encriptación.

Los tests usan vault_test_db (definida en TEST_DATABASE_URL del .env), separada de la BD de desarrollo.

Ver en GitHub: https://github.com/Javi-kl/Passwords-Secure-Vault

Publicado: 29 de abril de 2026 a las 09:55

Comentarios (0)

Sin comentarios aún.

Inicia sesión para comentar.