{"id":35405105,"url":"https://github.com/jksalcedo/passvault","last_synced_at":"2026-02-11T08:14:58.525Z","repository":{"id":319431434,"uuid":"1062013606","full_name":"jksalcedo/PassVault","owner":"jksalcedo","description":"A secure, lightweight, \u0026 offline password manager for Android","archived":false,"fork":false,"pushed_at":"2026-01-17T14:13:04.000Z","size":3084,"stargazers_count":58,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-18T00:29:06.430Z","etag":null,"topics":["aes-encryption","android-app","android-keystore","bitwarden","credential-manager","encryption","keepass","lightweight","offline-first","password","password-generator","password-manager","secure-storage","vault"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jksalcedo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"jksalcedo","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-09-22T17:29:35.000Z","updated_at":"2026-01-17T14:10:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"0f5af096-aeff-4759-afc9-03ddaacabe2b","html_url":"https://github.com/jksalcedo/PassVault","commit_stats":null,"previous_names":["jksalcedo/passvault"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/jksalcedo/PassVault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jksalcedo%2FPassVault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jksalcedo%2FPassVault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jksalcedo%2FPassVault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jksalcedo%2FPassVault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jksalcedo","download_url":"https://codeload.github.com/jksalcedo/PassVault/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jksalcedo%2FPassVault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28932539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption","android-app","android-keystore","bitwarden","credential-manager","encryption","keepass","lightweight","offline-first","password","password-generator","password-manager","secure-storage","vault"],"created_at":"2026-01-02T12:40:51.079Z","updated_at":"2026-01-31T07:01:16.803Z","avatar_url":"https://github.com/jksalcedo.png","language":"Kotlin","funding_links":["https://ko-fi.com/jksalcedo"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n    \u003cimg src=\"./metadata/en-US/images/icon.png\" alt=\"PassVault icon\" width=\"150\" /\u003e\n  \u003cbr\u003e\n  PassVault\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eA secure, lightweight, and offline password manager for Android built with\nKotlin.\u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\n\u003cimg alt=\"GitHub Downloads (all assets, all releases)\" src=\"https://img.shields.io/github/downloads/jksalcedo/PassVault/total?logo=GitHub\"\u003e\n\u003cimg alt=\"SourceForge Downloads\" src=\"https://img.shields.io/sourceforge/dt/passvault-app?logo=SourceForge\"\u003e\n\u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/jksalcedo/PassVault\"\u003e\n\u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/jksalcedo/PassVault?include_prereleases\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Kotlin-2.2.21-7f52ff?logo=kotlin\u0026logoColor=white\" alt=\"Kotlin Version\"\u003e\n  \u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/jksalcedo/PassVault?logo=Android\"\u003e\n\n\u003c/h4\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/jksalcedo/PassVault/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Get_it_on-GitHub-24292e?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Get it on GitHub\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://sourceforge.net/projects/passvault-app/files/latest/download\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Get_it_on-SourceForge-orange?style=for-the-badge\u0026logo=sourceforge\u0026logoColor=white\" alt=\"Get it on SourceForge\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://f-droid.org/packages/com.jksalcedo.passvault/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Get_it_on-F--Droid-green?style=for-the-badge\u0026logo=f-droid\u0026logoColor=white\" alt=\"Get it on F-Droid\" /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://t.me/passvault_app\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white\" alt=\"Join us on Telegram\" /\u003e\n  \u003c/a\u003e\n\n[![IzzyOnDroid Shield](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.jksalcedo.passvault\u0026label=IzzyOnDroid\u0026style=for-the-badge)](https://apt.izzysoft.de/packages/com.jksalcedo.passvault)\n\u003c/div\u003e\n\n\n\n\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/1.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n  \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/2.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n  \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/3.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n    \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/6.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n    \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/4.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n  \u003cimg src=\"./metadata/en-US/images/phoneScreenshots/5.jpg\" alt=\"PassVault Screenshot\" width=\"250\" /\u003e\n  \u003cbr\u003e\n\n  \u003cbr\u003e\n\u003c/h1\u003e\n\nPassVault is a secure, lightweight, and completely offline password manager for Android. It empowers\nyou to store and manage your credentials locally with military-grade encryption (AES-256), ensuring\nyour data never leaves your device.\n\nBuilt with a focus on privacy and usability, PassVault features a modern Material Design interface,\nrobust import capabilities (seamlessly migrating from KeePass and Bitwarden), and advanced security\noptions like biometric login and encrypted backups. Whether you're organizing passwords with custom\ncategories or generating strong credentials, PassVault keeps your digital life secure and\naccessible.\n\n## Core Features\n\n- [x] Secure PIN Authentication\n- [x] Biometric (Fingerprint) Login\n- [x] Encrypted Database (AES-256)\n- [X] [Argon2Kt](https://github.com/lambdapioneer/argon2kt) for file encryption\n- [x] Add, View, Edit, \u0026 Delete Passwords\n- [x] In-app Password Generator\n- [X] Encrypted Import/Export (for backups and transfer)\n- [X] Encrypted Automatic Backups\n- [X] Robust Import System (KeePass CSV/KDBX \u0026 Bitwarden JSON)\n- [X] Modern Material Design UI\n- [X] Categories/Labels\n- [X] Password strength scoring\n- [X] Custom field templates\n\n## Planned Features\n\n- [ ] Secure Notes (for storing non-password secrets)\n- [ ] Desktop Version\n- [ ] QR Code Password Sharing\n- [ ] TOTP generator\n- [ ] Migrate to Compose\n\n## Tech Stack \u0026 Architecture\n\nThis project follows the MVVM (Model-View-ViewModel) architecture.\n\n- **Language**: Kotlin\n- **UI**: XML Layouts with ViewBinding and Material Design Components\n- **Database**: Room Persistence Library\n- **Architecture**: ViewModel, Repository, LiveData\n- **Security**: Android Keystore, AES/CBC/PKCS7 Encryption, Argon2\n\n## Requirements\n\n- Android 8.0 (Oreo) or higher\n\n## Permissions\n\nPassVault is designed to be a completely offline password manager. It does not require any\npermissions that would allow it to connect to the internet.\n\n- `android.permission.USE_BIOMETRIC` - Used to allow fingerprint authentication.\n- `android.permission.READ_EXTERNAL_STORAGE` - Used to import encrypted backups.\n- `android.permission.WRITE_EXTERNAL_STORAGE` - Used to export encrypted backups.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjksalcedo%2Fpassvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjksalcedo%2Fpassvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjksalcedo%2Fpassvault/lists"}