Features
Quick Save
Save the current webpage to your ArcHive collection with a single click. The extension automatically:- Extracts page title and description
- Generates relevant tags using NLP
- Captures the URL and metadata
- Makes content accessible across all ArcHive platforms
User Authentication
Secure login with JWT-based authentication ensures your saved content is protected and private.Automatic Token Refresh
Seamlessly handles token expiration and renewal in the background, so you never have to re-login unnecessarily.Persistent Sessions
Stay logged in across browser sessions. Your authentication state is securely stored in Chrome’s local storage.Clean UI
Simple, intuitive interface for quick interactions - no clutter, just the functionality you need.Installation
From Source (Development)
Load the extension in Chrome
- Open Chrome and navigate to
chrome://extensions/ - Enable “Developer mode” (toggle in top-right corner)
- Click “Load unpacked”
- Select the
webfolder from the ArcHive repository
From Chrome Web Store
The extension is currently under review and will be available on the Chrome Web Store soon. Check back for updates!
Usage
First Time Setup
Login to your account
Enter your email and password in the login form, then click “Login”.
Don’t have an account yet? Download the ArcHive mobile app to create one.
Saving Pages
Once logged in:- Navigate to any webpage you want to save
- Click the ArcHive extension icon in your toolbar
- Click “Save Current Page”
- You’ll see a success message when the page is saved
- Extract metadata (title, description)
- Generate relevant tags using NLP
- Be accessible in your ArcHive mobile app and web dashboard
- Include a screenshot for visual reference
Logout
Click the “Logout” button in the extension popup to sign out of your account. Your credentials will be cleared from Chrome’s secure storage.Configuration
API Endpoint
The extension is configured to connect to:Using a Custom Endpoint
To use a different API endpoint (e.g., for local development):Architecture
Files
The extension consists of five main files:- manifest.json: Extension configuration and permissions
- popup.html: Extension popup interface structure
- popup.css: Styling for the popup UI
- popup.js: Frontend logic for the popup (UI interactions)
- background.js: Background service worker (API requests, authentication)
Authentication Flow
- User enters credentials in the popup interface
popup.jssends a LOGIN message to the background service workerbackground.jsmakes an API request to/auth/login- Access token and refresh token are stored in
chrome.storage.local - All subsequent API requests include the access token in headers
- If the access token expires (401 response), the background worker automatically refreshes it using the refresh token
- The new access token is stored and the original request is retried
Permissions
The extension requires the following permissions:| Permission | Purpose |
|---|---|
activeTab | Access current tab URL for saving |
tabs | Query active tabs to get page information |
storage | Store authentication tokens locally |
host_permissions | Make API requests to ArcHive backend |
Development
Making Changes
After modifying any extension files:Debugging
Debugging the Popup- Right-click the extension icon in your toolbar
- Select “Inspect popup”
- Chrome DevTools will open with console and network tabs
- Go to
chrome://extensions/ - Find the ArcHive extension
- Click “Inspect views: service worker”
- Chrome DevTools will open for the background script
Security Notes
Secure Communication
- All credentials are sent exclusively over HTTPS
- No sensitive data is transmitted over insecure connections
- The extension validates SSL certificates
Token Storage
- Access tokens and refresh tokens are stored in Chrome’s secure
chrome.storage.local - Tokens are automatically cleared on logout
- No credentials are stored in plain text
Password Handling
- Password fields are cleared immediately after successful login
- Passwords are never logged or stored locally
- Only secure password input fields are used
Best Practices
Troubleshooting
”Login failed” Error
Possible causes:- Incorrect email or password
- Backend API is down or unreachable
- Network connectivity issues
- Verify your credentials are correct
- Check that the backend API is running at the configured endpoint
- Ensure you have an active internet connection
- Try resetting your password via the mobile app
”Please login first” Message
This message appears when:- Your session has expired
- Authentication tokens have been cleared
- You’ve logged out from another device
Extension Not Appearing
Solutions:- Ensure “Developer mode” is enabled in
chrome://extensions/ - Try reloading the extension
- Check the browser console for errors during loading
- Verify all extension files are present in the
webfolder - Restart Chrome and try again
Save Not Working
Check these:- You’re logged in (click the extension icon to verify)
- The page URL is valid and accessible
- Your internet connection is active
- The backend API is responding (check Network tab in DevTools)
Token Refresh Failures
If automatic token refresh isn’t working:- Clear your tokens by logging out
- Log in again to get fresh tokens
- If the issue persists, check the background worker console for errors
Related
Mobile App
Capture content on the go
Web Dashboard
Manage your archive from desktop