Skip to content

Latest commit

 

History

711 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OTP Harbor

The local-first authenticator for desktop, with an Android development preview.

Platform .NET Build Security Latest Release License

OTP Harbor is an open-source, local-first TOTP and 2FA authenticator for Windows, macOS, and Linux, with an Android development preview. It protects OTP seeds in an encrypted local vault and supports QR workflows, platform quick unlock, and encrypted backup and restore without requiring a cloud account.

Release status: v2.0.0 is in release-candidate testing. The first stable Windows release is being prepared for Microsoft Store certification. Current GitHub Windows/Linux RC packages are unsigned manual previews with automatic updates disabled. Android is source-only until its production signing and upgrade path are established. Use synthetic accounts and keep a tested encrypted backup.

OTP Harbor showing a selected account and its current one-time password

Features

  • AES-256-GCM encrypted local vault with Argon2id password derivation
  • Windows Hello and macOS quick unlock with master-password recovery
  • Account creation, editing, search, deletion, QR import/export, and Google Authenticator bulk migration
  • Automatic clipboard clearing and idle/session locking
  • Encrypted .totp backup, restore, and conflict handling
  • English, German, French, and Spanish UI
  • Native Avalonia desktop application for Windows, macOS, and Linux
  • Focused Android app with biometric quick unlock, camera-based QR import, swipe actions, and the same encrypted backup format as desktop

Accounts currently use the common TOTP profile: SHA-1, six digits, and a 30-second period.

Import from Google Authenticator

OTP Harbor recognizes both normal otpauth:// account QR codes and Google Authenticator transfer QR codes. In Google Authenticator, start Transfer accounts / Export accounts, select the accounts, then scan every generated QR code with OTP Harbor's camera action. OTP Harbor shows the number of detected accounts and asks for confirmation before changing the vault; multi-part exports prompt you to scan the next QR code.

Treat migration QR codes as secrets: anyone who captures one can recreate the exported accounts. After importing, verify several generated codes and create a fresh encrypted OTP Harbor backup.

Desktop experience

OTP Harbor edit-account panel with a masked Base32 secret OTP Harbor security settings with quick unlock and recovery options
Edit accounts without exposing stored secrets Configure quick unlock and recovery
OTP Harbor account QR preview containing only a synthetic test payload OTP Harbor locked-vault screen offering quick unlock or master-password recovery
Export an account via QR code Unlock quickly with a recovery path

The QR screenshot is intentionally sanitized and contains only a published synthetic test secret. Never use it for a real account.

Keyboard shortcuts

Action Shortcut
Search accounts Ctrl + F
Add an account Ctrl + A
Edit the selected account Ctrl + E
Delete the selected account after confirmation Ctrl + D or Delete
Lock the vault Ctrl + L
Close the active search, editor, settings view, or QR preview Esc

Distribution

Microsoft Store is the primary Windows distribution channel. The Store listing is not public yet; the submission package and certification checklist are being prepared. Microsoft will sign the MSIX after successful certification and manage Store updates.

GitHub Releases remains the secondary channel for source-oriented users and explicit manual previews. Current RC artifacts are not part of a trusted automatic-update channel.

Platform Package type
Windows 10/11 x64 Microsoft Store MSIX after certification; unsigned GitHub ZIPs are manual RC previews
Ubuntu 24.04 x64 DEB or self-contained tarball
macOS ARM64 Structural artifacts are built in CI; production distribution still requires signing and notarization
Android 9 or newer Development source only; a public APK requires production signing and supported Android CI

After launch, create a master password and add an account manually, scan an otpauth:// QR code, or scan each QR code from a Google Authenticator bulk export in sequence. Treat QR images, OTPs, seeds, exports, and backups as secrets.

Maintainers can follow the Microsoft Store release guide. The unsigned MSIX produced by the repository is exclusively a Partner Center submission input and must never be sideloaded or attached to a GitHub Release.

Security and recovery

The master password is the portable recovery path. Quick unlock is a convenience and never replaces it. Keep an external encrypted export and test restoration periodically.

Report vulnerabilities privately as described in SECURITY.md. Never attach real secrets, vaults, backups, or unreviewed logs.

Code signing policy

Windows code-signing status: The previous SignPath Foundation application was not approved at this stage. A future reapplication may be considered after the project has established broader public adoption and independent trust signals. Current GitHub preview builds are unsigned. Microsoft Store is the planned primary Windows channel; Microsoft signs an accepted Store package during certification.

The Store and optional future direct-download trust models are defined in the code signing policy. Data handling is described in the OTP Harbor privacy policy.

Build

Install the .NET 10 SDK, then run:

git clone https://github.com/Legends/otp-harbor.git
cd otp-harbor
dotnet restore TOTP.sln --configfile NuGet.config
dotnet build TOTP.sln -c Debug
dotnet test TOTP.sln -c Debug
dotnet run --project .\TOTP.UI.Avalonia.Desktop\TOTP.UI.Avalonia.Desktop.csproj

The Android development preview is intentionally outside the desktop solution and release artifacts. Open the dedicated Android solution in Visual Studio, or see the Android development guide for its implemented scope, security notes, and build commands.

See CONTRIBUTING.md for engineering rules and docs/README.md for the maintained documentation map.

License

OTP Harbor is distributed under MIT. Third-party notices are in THIRD_PARTY_NOTICES.md.

About

Local-first open-source TOTP authenticator with an encrypted vault for Windows, macOS, Linux, and Android.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages