A browser extension for Ente Auth, allowing you to access your 2FA codes directly from your browser.
Comprehensive documentation is available in the docs/ folder:
- Getting Started - Overview and quick navigation
- Architecture - System design and component interactions
- Features Guide - Detailed feature explanations
- Development Guide - Setup and development workflow
- File Structure - Code organization reference
- API Reference - Internal APIs and services
- State Management - State handling patterns
- Security Model - Security architecture and cryptography
This software is provided "as is", without warranty of any kind, express or implied. The author assumes no responsibility for any security vulnerabilities, data loss, or other issues that may arise from the use of this extension. By using this extension, you accept full responsibility for any risks associated with its use. Use at your own risk.
- View 2FA Codes: Access your TOTP codes quickly.
- Manual Sync: Sync with your Ente account on demand.
- Secure Storage: Your keys and codes are stored securely within the extension's sandboxed storage.
This extension prioritizes the security of your data.
- End-to-End Encryption: Your data is encrypted on Ente's servers and only decrypted locally on your device.
- Zero Knowledge: The extension performs all decryption locally. Your password and master key are never sent to the server (except for the SRP protocol which proves knowledge of the password without revealing it).
- Credentials: Your session token, master key, and private key are stored in
chrome.storage.local.- This storage area is sandboxed to this extension. Other websites and extensions cannot access it.
- This allows the extension to keep you logged in across browser restarts.
- Codes: Your decrypted 2FA codes are also cached in
chrome.storage.localfor offline access. - Optional Encryption: You can optionally enable a Master Password or PIN to encrypt your local data.
- When enabled, your credentials and codes are encrypted using XChaCha20-Poly1305 before being saved to disk.
- The encryption key is derived from your password/PIN using Argon2id.
- This adds an extra layer of protection if someone gains physical access to your computer.
- Ensure your computer is password-protected and encrypted (e.g., FileVault on macOS, BitLocker on Windows), as the extension's local storage relies on the operating system's file system security.
- Lock your computer when unattended.
npm install
npm run build- Open Chrome/Edge/Brave and go to
chrome://extensions. - Enable "Developer mode".
- Click "Load unpacked".
- Select the
.output/chrome-mv3directory.