Installation Guide
Install the Themys Chrome extension or use the web app. Setup takes under a minute.
System Requirements
Themys is built on Chrome's Manifest V3 platform. Other Chromium-based browsers (Edge, Brave, Arc) may work but are not officially supported.
Option 1: Chrome Extension
From the Chrome Web Store
The production extension is available on the Chrome Web Store.
1. Visit the Chrome Web Store listing
2. Click Add to Chrome
3. Confirm the permissions dialog
4. The Themys icon appears in your toolbar
Load Unpacked (Development)
For local development or testing:
1. Clone the repository and build the extension:
git clone https://github.com/themys/toscaner.git
cd toscaner
pnpm install
pnpm build:extension
2. Open Chrome and navigate to chrome://extensions
3. Enable Developer mode (toggle in the top-right corner)
4. Click Load unpacked
5. Select the extension/dist folder from the cloned repository
The extension will load and appear in your extensions list. To update after code changes, rebuild with pnpm build:extension and click the refresh icon on the extension card.
Option 2: Web App
No installation required. Visit themys.ca in any modern browser.
The web app provides the same analysis capabilities as the extension:
- Paste a URL to scan any Terms of Service page
- View risk scores, flagged clauses, and full extraction
- Access your scan history and account settings
Go to themys.ca/scan/new to start a scan.
Extension Permissions Explained
The extension requests four permissions:
Themys does not request access to your browsing history, bookmarks, or any tab you aren't actively using.
Verifying the Installation
After installing, verify everything works:
1. Click the Themys icon in your Chrome toolbar
2. You should see the popup with a sign-in prompt (or your account info if already signed in)
3. Navigate to any Terms of Service page (e.g., github.com/terms)
4. The extension should detect the ToS content and display an overlay
If the extension doesn't activate:
- Check that the extension is enabled at
chrome://extensions - Verify you're on a page that contains Terms of Service content
- Try clicking the extension icon manually to trigger a scan
- Check the browser console for errors (
F12> Console tab)
Updating the Extension
Chrome Web Store
Updates are automatic. Chrome checks for extension updates periodically. To force a check:
1. Go to chrome://extensions
2. Enable Developer mode
3. Click Update
Unpacked (Development)
After pulling new changes:
pnpm install # if dependencies changed
pnpm build:extension # rebuild
Then click the refresh icon on the Themys extension card at chrome://extensions.
Uninstalling
1. Right-click the Themys icon in your toolbar
2. Select Remove from Chrome
3. Confirm the removal
This removes the extension and its local storage. Your account and scan history remain on the server. Log in at themys.ca to manage or delete your data.
Troubleshooting
Extension icon is grayed out
The extension only activates on pages it can read. If the icon is grayed out:
- You're on a Chrome internal page (
chrome://...) - You're on the Chrome Web Store
- The page hasn't fully loaded yet
"Cannot access contents of the page" error
This happens when the extension tries to read a restricted page:
- Chrome settings pages (
chrome://settings) - The Chrome Web Store (
chromewebstore.google.com) - New Tab page
Navigate to a regular website and try again.
Extension popup doesn't open
1. Check if the extension is enabled at chrome://extensions
2. Disable and re-enable the extension
3. If that doesn't work, remove the extension and load it again
4. Check the Chrome DevTools console for the popup: right-click the popup > Inspect
Content script not injecting
If the extension loads but doesn't detect ToS content:
1. Open DevTools on the page (F12)
2. Go to the Console tab
3. Look for errors mentioning themys or content-script
4. Check if the page has a Content Security Policy that blocks inline scripts
Multiple Chrome profiles
The extension is installed per-Chrome-profile. If you use multiple Chrome profiles:
- Install the extension in each profile where you want to use it
- Each profile has its own extension state and login session
- Switching profiles doesn't affect the extension in other profiles
Was this page helpful?