Sno Station
Sno Station is your agents' workstation: open-source software that turns the AI agents you already run into one squad on your own machine. Two heads are better than one, and they get better with every
翻訳待ち
Chrome extension that flags terms-of-service clauses that may work against you, using TypeSafe's Jev model
翻訳待ち
Loading the full README.
Read the full README ↗A Chrome extension that reads the terms of service on the page you are viewing and points out clauses that may work against you, using TypeSafe's Jev model.
Terms of service are long, and an abusive clause is easy to miss. Jev ToS Checker splits a terms page into clauses and checks each one for eight kinds of abusive terms. It marks only clauses that go well beyond what is common among major services, so it does not alarm you about ordinary terms. Every match is shown next to the original text, so you can judge it yourself.
This tool helps you find clauses worth a closer look. It does not decide whether a service is "safe", and it is not legal advice.
| Category | Marked, for example | Not marked, for example |
|---|---|---|
| Personal data | Selling your data or giving it to third parties without consent | Sharing with vendors that work for the service, or when the law requires it |
| Changes to the terms | Changing the terms with no notice, or retroactively | Changes announced in advance |
| Liability | No liability even for the provider's intentional misconduct | Capping liability at the fees you paid |
| Accounts | Deleting your account and data for no reason, keeping your balance | Suspending accounts for serious violations, with notice |
| Disputes | Forced arbitration, class action waivers, banning lawsuits | The provider's home courts, while your local courts stay available |
| Auto-renewal | Cancellation only by mail, or cancellation penalties | Renewal you can cancel online at any time |
| Your content | Taking ownership of your content, or the right to sell it | A license only to run and improve the service |
| Fees | Charging you or raising prices without consent or notice | Price changes announced in advance, with the option to cancel |
Each clause is judged together with the paragraphs around it, so an exception in the next paragraph is taken into account. A clause is marked as Caution when the probability that it is abusive is 70% or higher.
The extension is not on the Chrome Web Store yet, so you install it from a downloaded folder. It takes about two minutes.
jev-tos-checker. Move it somewhere you will keep it, such as your Documents folder. If you delete or move the folder later, the extension stops working.chrome://extensions in the address bar and press Enter.jev-tos-checker folder from step 2.Release files are built by GitHub Actions in this repository, and GitHub keeps a signed record of each build. If you use the GitHub CLI, you can confirm that your zip came from this repository and has not been modified:
gh attestation verify jev-tos-checker.zip --repo shohei81/jev-tos-checker
This works for releases published after v0.3.0.
After installation, the settings page opens automatically. Choose one option and click Save and test connection.
To change these settings later, open the extension and click the gear icon in the top-right corner.
core/ Jev requests and category definitions (shared by the extension and the server)
extension/ Chrome extension (Manifest V3)
worker/ Analysis server (Cloudflare Worker), for offering the extension without handing out an API key
npm install
npm run build # build extension/dist; load extension/ as an unpacked extension
npm run package # create jev-tos-checker.zip
npm test
npm run typecheck
core/categories.ts, and the thresholds are in extension/src/classify.ts.extension/_locales/{en,ja}/messages.json. To add a language, add a file with the same keys.v* tag runs .github/workflows/release.yml, which builds the zip and attaches it to a GitHub release.npm install-scripts approve workerd # required by wrangler dev
echo 'TYPESAFE_API_KEY=<your key>' > .dev.vars
npm run dev:worker # http://localhost:8787
npx wrangler secret put TYPESAFE_API_KEY
npm run deploy:worker
The server has no access control yet. Anyone with the URL can use it, and their requests are billed to your API key.