
Gestor de Contraseñas Colaborativo
<div align="center"> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/teampass-logo2-login.png" width="110" alt="Teampass" /> # Teampass ### Gestión de contraseñas autoalojada en la que todo tu equipo puede confiar Control de acceso a nivel de carpeta · cifrado AES-256-GCM autenticado · evidencia de cumplimiento<br /> **Tus secretos nunca salen de tu infraestructura.** **🌐 [teampass.net](https://teampass.net)** · **📖 [Documentación](https://documentation.teampass.net)** · **💬 [Debates](https://github.com/nilsteampassnet/TeamPass/discussions)** · **🐳 [Docker Hub](https://hub.docker.com/r/teampass/teampass)** <br /> [](https://github.com/nilsteampassnet/TeamPass/releases/latest) [](LICENSE.md) [](https://www.php.net/) [](https://hub.docker.com/r/teampass/teampass) [](https://github.com/nilsteampassnet/TeamPass) [](https://github.com/nilsteampassnet/TeamPass/actions/workflows/codeql.yml) [](https://github.com/nilsteampassnet/TeamPass/actions/workflows/docker-publish.yml) [](https://github.com/nilsteampassnet/TeamPass/security/advisories) [](https://github.com/sponsors/nilsteampassnet) </div> --- ## Contenido - [Acerca de](#about) - [Para quién es](#who-its-for) - [Seguridad](#security) - [Características](#features) - [Primeros pasos](#get-started) - [Documentación](#documentation) - [Idiomas](#languages) - [Comunidad](#community) - [Apoyar a Teampass](#support-teampass) - [Licencia](#license) --- ## Acerca de **Teampass es una bóveda de credenciales de código abierto que ejecutas tú mismo.** Sin cuenta que crear, sin empresa tras el telón que custodie tus datos — solo una aplicación PHP/MySQL en tu propio servidor, con control de acceso a nivel de carpeta, claves de cifrado por usuario y un registro de auditoría completo. Se ha construido y mantenido desde 2009, impulsado por lo que los equipos reales se encuentran de verdad: quién debería ver cada credencial, cómo demostrarlo ante un auditor y cómo evitar que las contraseñas vivan en hilos de chat y hojas de cálculo. <div align="center"> <img src="https://teampass.net/images/portfolio/tp3_sw_1.png" width="820" alt="Teampass interface" /> </div> <details> <summary><b>📸 Más capturas de pantalla</b></summary> <br /> **Elementos y secretos** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_items_1.png" width="420" alt="Item list" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_items_2.png" width="420" alt="Item detail" /> **Carpetas y roles** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_subfolders_1.png" width="420" alt="Folder tree" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_features_roles_1.png" width="420" alt="Roles" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_features_roles_3.png" width="420" alt="Role rights" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_features_roles_5.png" width="420" alt="Role assignment" /> **Autenticación y MFA** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_auth_mfa_1.png" width="420" alt="MFA setup" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_auth_oauth2_1.png" width="420" alt="OAuth2 settings" /> **Claves de cifrado** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_keys_1.png" width="420" alt="Key management" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_keys_5.png" width="420" alt="Key regeneration" /> **Búsqueda, exportación, vista única** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_settings_keyword_search.png" width="420" alt="Keyword search" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_export_1.png" width="420" alt="Export" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_otv_1.png" width="420" alt="One-time view" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_otp_1.png" width="420" alt="TOTP" /> **Tareas en segundo plano** <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_tasks_04.png" width="420" alt="Tasks" /> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/settings_tasks_options_01.png" width="420" alt="Task settings" /> </details> --- ## Para quién es <table> <tr> <td width="33%" valign="top"> ### 🏠 Particulares y Homelab ***Sé dueño de tu bóveda, literalmente.*** - Se ejecuta en una Raspberry Pi o un VPS de 5 € - Carpetas personales cifradas con tu propia clave - Importa desde Bitwarden, LastPass, 1Password o KeePassXC - Gratis para siempre, sin registro </td> <td width="33%" valign="top"> ### 👥 Equipos y PYMES ***Deja de compartir contraseñas en el chat.*** - Carpetas y roles en lugar de un documento compartido - Un registro de quién accedió a qué, y cuándo - Envío seguro para clientes y colaboradores externos - Extensión de navegador para el autorrelleno del día a día </td> <td width="33%" valign="top"> ### 🏛️ Empresa y Sectores regulados ***Demuestra tus controles de acceso, no solo los afirmes.*** - Campañas de recertificación de accesos con decisiones inmutables - Informes de cumplimiento y exportación de evidencias - LDAP/AD con grupos anidados, SSO OAuth2 - Clasificación de datos y propiedad </td> </tr> </table> --- ## Seguridad ### Un cifrado que puedes describir a un auditor Los secretos se cifran con **AES-256-GCM** usando nonces aleatorios y sales por secreto, bajo **claves de objeto de 256 bits**. La clave privada que los desbloquea se deriva de tu contraseña con **PBKDF2-SHA256 a 600 000 iteraciones**. - **Cifrado autenticado** — la manipulación se detecta, no se descifra en silencio - **Distribución de claves por usuario** — cada usuario posee su propia copia de cada clave de objeto envuelta con RSA, de modo que eliminar una cuenta revoca realmente el acceso en lugar de solo ocultar un botón - **Migración diferida** — las actualizaciones de formato ocurren al acceder, sin ventana de mantenimiento <div align="center"> <img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/docs/_media/tp3_encryption_model.webp" width="700" alt="Teampass encryption model" /> </div> ### Transparencia frente al silencio > Un gestor de contraseñas que no reporta ninguna vulnerabilidad no es un gestor de contraseñas que no tenga ninguna. Los hallazgos se clasifican, se corrigen y se publican como Avisos de Seguridad de GitHub con identificadores CVE. - 🔒 [Política de seguridad y cómo reportar](https://github.com/nilsteampassnet/teampass/blob/master/SECURITY.md) - 📋 [Avisos publicados](https://github.com/nilsteampassnet/TeamPass/security/advisories) - 🛡️ [Guía de endurecimiento de seguridad](https://documentation.teampass.net/#/install/security-hardening) **¿Has encontrado una vulnerabilidad?** Repórtala de forma privada a través de [GitHub Security Advisories](https://github.com/nilsteampassnet/TeamPass/security/advisories/new) — nunca en un issue público. --- ## Características <details> <summary><b>🗂️ Control de acceso por carpetas y roles</b></summary> <br /> - [Carpetas](https://documentation.teampass.net/#/features/folders) — anidamiento ilimitado, reglas de complejidad de contraseñas por carpeta - [Roles](https://documentation.teampass.net/#/features/roles) — concede acceso por rol, no usuario a usuario - [Derechos](https://documentation.teampass.net/#/features/rights) — lectura, escritura, sin edición, sin borrado, resueltos con la regla del menos permisivo gana - [Usuarios](https://documentation.teampass.net/#/features/users) — anulaciones por usuario sobre los roles - Carpetas personales que nadie más puede leer, incluidos los administradores </details> <details> <summary><b>🔐 Cifrado autenticado</b></summary> <br /> - [Modelo de cifrado](https://documentation.teampass.net/#/install/encryption) — cómo se derivan, envuelven y distribuyen las claves - [Mejoras de cifrado](https://documentation.teampass.net/#/install/encryption-improvements) — el formato AES-256-GCM y su migración diferida - [Gestión de claves](https://documentation.teampass.net/#/features/keys) — regeneración, recuperación, reparación de claves por usuario </details> <details> <summary><b>📊 Postura de seguridad</b></summary> <br /> - [Postura de seguridad](https://documentation.teampass.net/#/features/security-posture) — una puntuación personal para credenciales débiles, reutilizadas y filtradas, y comprobaciones de Have I Been Pwned sin enviar tus contraseñas - [Renovación de contraseñas](https://documentation.teampass.net/#/features/renewal) — políticas de caducidad y recordatorios - [Microaprendizaje](https://documentation.teampass.net/#/features/micro-learning) — avisos dentro de la aplicación en lugar de una presentación anual </details> <details> <summary><b>🏛️ Gobernanza y auditoría</b></summary> <br /> - [Revisiones de acceso](https://documentation.teampass.net/#/manage/access-reviews) — campañas de recertificación con decisiones inmutables - [Informes de cumplimiento](https://documentation.teampass.net/#/manage/compliance-reports) — evidencia que puedes entregar a un auditor - [Seguimiento de rotaciones](https://documentation.teampass.net/#/manage/rotation-tracking) — qué se rotó, cuándo y por quién - [Riesgo de bajas](https://documentation.teampass.net/#/features/leaver-risk) — qué podría seguir sabiendo un usuario que se marcha - [Clasificación de datos](https://documentation.teampass.net/#/features/classification) — propiedad y etiquetas de sensibilidad </details> <details> <summary><b>🪪 Integración de identidad</b></summary> <br /> - [Autenticación](https://documentation.teampass.net/#/features/authentication) — local, LDAP/AD con grupos anidados, OAuth2 / SSO - Multi-factor: TOTP (Google Authenticator), Duo Security, YubiKey, AGSES - [ACL de red](https://documentation.teampass.net/#/manage/network-acl) — restringe el acceso por rango de IP - [Gestión de sesiones](https://documentation.teampass.net/#/misc/session-management) — tiempos de espera, sesiones concurrentes, almacenamiento respaldado por Redis </details> <details> <summary><b>🤖 Automatización</b></summary> <br /> - [API REST](https://documentation.teampass.net/#/api/api-basic) — autenticada con JWT, especificación OpenAPI 3.1, clientes Bash y PowerShell - [Extensión de navegador](https://documentation.teampass.net/#/misc/extension) — autorrelleno, captura, autoconfiguración con un clic - [Tareas en segundo plano](https://documentation.teampass.net/#/manage/tasks) — distribución de claves, notificaciones, mantenimiento - [Colaboración en tiempo real](https://documentation.teampass.net/#/features/collaboration) — sincronización por WebSocket y bloqueos de edición - [Copias de seguridad](https://documentation.teampass.net/#/features/backups) — volcados de base de datos programados y cifrados </details> <details> <summary><b>📦 Migración de entrada y salida</b></summary> <br /> - [Importación](https://documentation.teampass.net/#/features/import) — Bitwarden, LastPass, 1Password, KeePassXC, CSV - [Exportación](https://documentation.teampass.net/#/features/export) — CSV, PDF y una bóveda HTML offline cifrada y autocontenida - Sin dependencia de proveedor: es tu base de datos, en tu servidor, bajo GPL-3.0 </details> <details> <summary><b>⚡ Productividad diaria</b></summary> <br /> - [Búsqueda](https://documentation.teampass.net/#/features/search) — en etiquetas, descripciones, tags y campos personalizados - [Paleta de comandos](https://documentation.teampass.net/#/features/command-palette) — navegación priorizando el teclado - [Favoritos](https://documentation.teampass.net/#/features/favourites) y acceso rápido a elementos recientes - [Campos personalizados](https://documentation.teampass.net/#/features/custom-fields) — cifrables individualmente, restringidos por rol - [Base de conocimiento](https://documentation.teampass.net/#/features/knowledge-base) y [centro de notificaciones](https://documentation.teampass.net/#/features/notification-center) - Enlaces de vista única y Envío seguro para compartir fuera de la bóveda </details> --- ## Primeros pasos ### Requisitos | | | |---|---| | **Base de datos** | MySQL 5.7+ o MariaDB 10.7+ | | **PHP** | 8.2 o superior (probado con 8.3) | | **Extensiones requeridas** | `openssl` `mysqli` `mbstring` `bcmath` `iconv` `xml` `gd` `curl` `gmp` — además de `ldap` para LDAP/AD | | **Extensiones recomendadas** | `apcu` (caché de configuración) · `opcache` (rendimiento) · `redis` (sesiones HA) · `pcntl` + `posix` (demonio WebSocket) | Teampass sigue el soporte activo de PHP. Se recomienda encarecidamente ejecutar la última versión estable de PHP tanto por seguridad como por rendimiento. ### 🐳 Docker ```bash docker run -d --name teampass \ -p 8080:80 \ -v teampass_data:/var/www/html \ teampass/teampass:latest ``` Las imágenes se publican en ambos registros: - Docker Hub — `teampass/teampass` - GitHub Container Registry — `ghcr.io/nilsteampassnet/teampass` 📖 [Guía de Docker](https://github.com/nilsteampassnet/teampass/blob/master/docs/DOCKER.md) · [Migrar una instalación existente a Docker](https://github.com/nilsteampassnet/teampass/blob/master/docs/DOCKER-MIGRATION.md) ### 🖥️ Bare metal (recomendado para producción) Instalar directamente en un servidor PHP/MySQL ofrece el mejor rendimiento y el mayor control sobre tu entorno. - 📖 [Guía oficial de instalación](https://documentation.teampass.net/#/install/installation) - 🔄 [Guía de actualización](https://documentation.teampass.net/#/install/upgrade) - 🔑 [Permisos de archivos](https://documentation.teampass.net/#/install/file-permissions) - 🎥 [Tutorial en vídeo](https://youtu.be/eXieWAIsGzc?feature=shared) --- ## Documentación | | | |---|---| | 📖 **[Documentación completa](https://documentation.teampass.net)** | Instalación, funciones, administración | | 🚀 **[Instalación](https://documentation.teampass.net/#/install/installation)** | Primera configuración paso a paso | | 🔄 **[Actualización](https://documentation.teampass.net/#/install/upgrade)** | Cambiar entre versiones | | 🛡️ **[Refuerzo de seguridad](https://documentation.teampass.net/#/install/security-hardening)** | Lista de verificación para producción | | ⚙️ **[Rendimiento](https://documentation.teampass.net/#/install/performance)** | PHP-FPM, caché, ajuste | | 🔌 **[API REST](https://documentation.teampass.net/#/api/api-basic)** | Endpoints, autenticación JWT, clientes | | 🧩 **[Extensión de navegador](https://documentation.teampass.net/#/misc/extension)** | Configuración y uso | | 🩺 **[Solución de problemas](https://documentation.teampass.net/#/misc/troubleshooting)** | Cuando algo va mal | --- ## Idiomas Teampass se distribuye en **25 idiomas**, traducidos por la comunidad. <table> <tr> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/us.png" width="16" alt="" /> English</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/fr.png" width="16" alt="" /> French</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/de.png" width="16" alt="" /> German</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/es.png" width="16" alt="" /> Spanish</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/it.png" width="16" alt="" /> Italian</td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/pr.png" width="16" alt="" /> Portuguese</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/br.png" width="16" alt="" /> Portuguese (BR)</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/nl.png" width="16" alt="" /> Dutch</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/ru.png" width="16" alt="" /> Russian</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/ua.png" width="16" alt="" /> Ukrainian</td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/pl.png" width="16" alt="" /> Polish</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/cz.png" width="16" alt="" /> Czech</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/hu.png" width="16" alt="" /> Hungarian</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/ro.png" width="16" alt="" /> Romanian</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/bg.png" width="16" alt="" /> Bulgarian</td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/gr.png" width="16" alt="" /> Greek</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/tr.png" width="16" alt="" /> Turkish</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/se.png" width="16" alt="" /> Swedish</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/no.png" width="16" alt="" /> Norwegian</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/ee.png" width="16" alt="" /> Estonian</td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/catalonia.png" width="16" alt="" /> Catalan</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/cn.png" width="16" alt="" /> Chinese</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/ja.png" width="16" alt="" /> Japanese</td> <td><img src="https://raw.githubusercontent.com/nilsteampassnet/teampass/master/public/assets/images/flags/vi.png" width="16" alt="" /> Vietnamese</td> <td>🇸🇦 Arabic <sub>(in progress)</sub></td> </tr> </table> Las traducciones se gestionan en POEditor — unas pocas cadenas de tu parte suponen una gran ayuda. [](https://poeditor.com/join/project?hash=0vptzClQrM) --- ## Comunidad ### Contribuir Todo tipo de contribuciones son muy bienvenidas. Haz un fork del repositorio, realiza tus cambios y luego abre una pull request — consulta [CONTRIBUTING.md](https://github.com/nilsteampassnet/teampass/blob/master/.github/CONTRIBUTING.md) para la configuración de desarrollo, los estándares de código y las convenciones de ramas, y [CODE_OF_CONDUCT.md](https://github.com/nilsteampassnet/teampass/blob/master/CODE_OF_CONDUCT.md) para saber cómo trabajamos juntos. [](https://github.com/nilsteampassnet/TeamPass/compare) ### Informar de errores Si algo no funciona como debería, abre un ticket. Incluye los pasos para reproducirlo, la configuración de tu servidor y el informe de diagnóstico desde **Admin → icono de Bug (abajo a la izquierda)**. [](https://github.com/nilsteampassnet/TeamPass/issues/new/choose) ### Hacer preguntas Las preguntas, los consejos de despliegue y las ideas pertenecen a Discussions en lugar del rastreador de issues. [](https://github.com/nilsteampassnet/TeamPass/discussions) ### Colaboradores Teampass es lo que es gracias a estas personas. [](https://github.com/nilsteampassnet/TeamPass/graphs/contributors) ### Historial de estrellas [](https://star-history.com/#nilsteampassnet/TeamPass&Date) --- ## Apoyar a Teampass Teampass es gratuito, GPL-3.0, y ha sido mantenido por una sola persona desde 2009. No hay ninguna empresa detrás — que es precisamente el objetivo, y también por lo que el apoyo importa. ### En qué se invierte el patrocinio - **Trabajo de seguridad** — clasificar informes, corregirlos y publicar avisos con CVE - **Versiones** — pruebas, rutas de actualización y mantener las instalaciones antiguas capaces de avanzar - **Documentación** — las guías en documentation.teampass.net - **Traducciones** — coordinar 25 idiomas - **Infraestructura** — imágenes de Docker, CI y los sitios web del proyecto ### Conviértete en patrocinador El objetivo es **100 patrocinadores mensuales**. Todos los niveles ayudan, y las cantidades recurrentes pequeñas ayudan más porque hacen que el trabajo sea predecible. [](https://github.com/sponsors/nilsteampassnet) [](https://www.paypal.com/donate/?hosted_button_id=XUVWYJ7J92X6L) ### Patrocinadores Muchísimas gracias a todos los que patrocinan este trabajo — mantenéis Teampass gratuito para todos los demás. [](https://github.com/sponsors/nilsteampassnet) ### Soporte comercial El patrocinio financia el servidor gratuito. La extensión de navegador y los servicios profesionales financian la hoja de ruta. | | | |---|---| | **Pro Extension** | Autorrelleno del navegador, captura y protección contra phishing — desde 49 €/año, prueba de 30 días | | **Servicios** | Desarrollo de funciones, asistencia en el despliegue, atención prioritaria — presupuestado por encargo | [](https://teampass.net/pricing.html) --- ## Licencia Teampass se publica bajo la **[GNU General Public License v3.0](https://github.com/nilsteampassnet/teampass/blob/master/LICENSE.md)**. Eres libre de usarlo, estudiarlo, modificarlo y redistribuirlo — incluso comercialmente — siempre que las obras derivadas permanezcan bajo la misma licencia. 📋 [Informe de cumplimiento de licencias de dependencias](https://github.com/nilsteampassnet/teampass/blob/master/LICENSE_COMPLIANCE_REPORT.md) --- <div align="center"> <img src="https://teampass.net/images/madeinfrance.png" width="90" alt="Made in France" /> **Creado y mantenido por [Nils Laumaillé](mailto:[email protected]) desde 2009.** Copyright © 2009-2026 Nils Laumaillé <br /> [](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md) </div>