尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Two private Flutter apps for a single phone at a time. TBD Vault stores encrypted account details. TBD Codes supplies an eight-digit code that changes every 5–10 seconds. Both apps are designed to work without an internet connection.
This is custom password-manager software. Do not put irreplaceable passwords in it until the iPhone pairing, backup recovery, and security review have been completed on a real device. A code generated by another app on the same phone is an extra check, not a truly separate second factor.
web/ holds TBD Vault and TBD Codes as two installable offline websites (PWAs). No App Store, APK or Mac needed. See web/README.md for building, deploying and installing. The Flutter apps in apps/ are kept but no longer the main path.
Automated tests pass (core, backup, vault lockout and replay). Android end-to-end testing, signed release APKs and all iPhone testing are not finished. See SECURITY-REVIEW.md and MAC-IPHONE-CHECKLIST.md. Do not store real passwords yet.
| Folder | Purpose |
|---|---|
apps/vault | iPhone and Android vault app |
apps/codes | iPhone and Android code app |
packages/tbd_core | Shared vault format, AES-256-GCM encryption, Argon2id backup, and code generation |
packages/tbd_platform | Device-protected key access and app pairing |
design | SVG icons, rendered previews, and bundled-font licenses |
The fonts and icon assets are bundled in the apps. There are no accounts, analytics, remote APIs, or app-managed network calls. Android release manifests contain no INTERNET permission. The operating system's file picker may still offer cloud locations; select local storage for strictly offline backups.
To move to a new phone, install both apps, choose Restore Encrypted Backup in TBD Vault, select the .tbdbackup file, enter its backup password, pair TBD Codes, and enter the new code. iPhone and Android use the same backup format. There is no server or forgotten-password recovery.
Flutter 3.47.7 / Dart 3.13.5 was used for this source. From each app folder run flutter pub get, then flutter analyze. From packages/tbd_core, run dart test. The shared tests cover the RFC 6238 SHA-256 code vector, vault encryption, altered backup rejection, and repeat file saves.
Building and installing the iPhone apps requires a Mac with Xcode, an Apple Developer membership, and the friend's iPhone registered for private distribution. Both app IDs must belong to the same Apple team and have the shared Keychain group com.techboydeepak.tbd.shared. In Xcode, set the same Team for both Runner targets and confirm Runner.entitlements is included in each signing profile. Build both apps with --dart-define=TBD_TEAM_ID=YOUR_10_CHARACTER_TEAM_ID so the runtime uses the matching Keychain access group. Archive and distribute to the registered device as Ad Hoc apps. Do not change either bundle ID after storing real passwords without a tested migration.
iPhone builds, signing, installation, biometric prompts, and app-to-app pairing have not been verified on this Windows machine. They must be tested on the actual iPhone before daily use. Free Apple personal signing can expire after seven days; TestFlight builds expire after 90 days, which is why private registered-device distribution is planned.
The Android apps require Android 11 or newer. Debug builds of both apps from the same machine use the same debug signing certificate and can pair. Private release builds must be signed with the same release keystore. Set TBD_ANDROID_KEYSTORE, TBD_ANDROID_STORE_PASSWORD, TBD_ANDROID_KEY_ALIAS, and TBD_ANDROID_KEY_PASSWORD as environment variables before building each release APK. Never put the keystore or passwords in this repository. Do not distribute a debug-signed APK for password storage.
Android and iPhone data do not synchronize automatically. Move only the encrypted .tbdbackup file by a method you choose, such as a local file transfer, and restore it on the destination phone.
Visual colors and fonts follow techboydeepak.com: #080808, #f4f1ec, #f22d1c, Manrope, Bebas Neue, and IBM Plex Mono. Font licenses are in design/licenses. The two SVG icon sources are in design; rerender platform assets with python tools/render_icons.py after installing resvg-py.
The code interval is deliberately shorter than the RFC 6238 recommendation of 30 seconds, following the requested 5–10 second setting. Ten seconds is the default.