Supported Browsers
The extension supports all major browsers:- Chrome - Chrome Web Store
- Firefox - Firefox Add-ons
- Safari - App Store (macOS)
- Edge - Microsoft Edge Add-ons
- Opera - Opera Add-ons
- Vivaldi - Chrome Web Store compatible
- Brave - Chrome Web Store compatible
Manifest V3
The browser extension uses Web Extension API Manifest V3, the latest extension platform standard. Manifest V3 brings significant architectural changes:Key Changes from Manifest V2
- Service Workers replace persistent background pages
- Background context can be terminated at any time by the browser
- Enhanced security and privacy controls
- Improved extension performance
Architecture
The extension is organized into distinct execution contexts:Execution Contexts
- Background Service Worker (
src/platform/background.ts) - Handles core business logic, API calls, and vault operations - Popup (
src/popup/) - The main UI shown when clicking the extension icon - Content Scripts (
src/autofill/) - Injected into web pages for autofill and form detection - Offscreen Documents - Used for clipboard operations in Manifest V3
Cross-Browser Compatibility
The codebase uses theBrowserApi abstraction layer (src/platform/browser/browser-api.ts) to handle browser-specific differences:
Source Code Structure
Browser-Specific Features
Safari
Safari has unique requirements and limitations:- Requires manual event listener cleanup to prevent memory leaks
- Tab query APIs can return unexpected results across windows
- Native messaging for clipboard operations
Firefox
Firefox supports both Manifest V2 and V3:- Uses
browser.*API namespace (Web Extensions API) - Sidebar action support
- Android support for Firefox Mobile
Build Targets
The extension can be built for different browsers and manifest versions:Development Mode
For active development with automatic rebuilding:Next Steps
- Building the Extension - Build commands and development setup
- Architecture Details - Deep dive into extension architecture
- Manifest V3 Migration - Understanding Manifest V3 changes