RunJS — Terms of Service
These Terms of Service (“Terms”) govern your access to and use of the RunJS browser extension, the related official website at amals-chrome.com (including product, privacy, and support pages), optional Google authorization for library sync, and any related documentation or Chrome Web Store listing (together, the “Service”). By installing, enabling, or using RunJS, you agree to these Terms. If you do not agree, do not install or use the Service.
This page is provided so you and reviewers (including Google OAuth / Chrome Web Store) can see how RunJS is offered. It is not personalized legal advice. If these Terms conflict with mandatory consumer law in your country, that law prevails.
How we handle information is described in the Privacy Policy. These Terms cover use of the product, your responsibilities, and optional Google Drive features. Privacy Policy.
1. Who operates the Service
RunJS is an independently developed Chrome extension for the Google Chrome browser. The operator of the Service is the developer of RunJS, reachable at amals.chrome@gmail.com (the “Operator”, “we”, “us”).
The Service is distributed primarily through the Chrome Web Store. Google LLC (“Google”) operates Chrome, the Web Store, and Google APIs (including Google Identity and Google Drive). Google is not the Operator of RunJS and is not a party to these Terms, except that Google’s own terms also apply when you use Google products.
2. Eligibility and accounts
You must be able to form a binding contract and must comply with Chrome Web Store and Google account rules. If you are under the age of digital consent in your country (often 13, sometimes 16), you may use the Service only with a parent or guardian as required by applicable law.
RunJS does not require you to create an account with the Operator. Optional Google sign-in (for Drive sync) uses your Google Account under Google’s terms. You are responsible for that account and for any device on which the extension is installed.
3. What the Service does
RunJS lets you bind a name, a target URL, and optional user-written CSS and JavaScript so that one action can open the URL and, when code is saved, inject that code after the page loads on matching sites. If CSS and JS are empty, RunJS may open the URL only and does not need site access for injection.
Typical local features include a Dashboard library, popup launcher, match patterns, inject timing and environment options, import/export of a JSON backup, and UI preferences (language, theme, fonts, layout). Features may change as Chrome APIs and the product evolve.
- The Service is designed to be local-first: your library and preferences are stored in Chrome storage on your device unless you explicitly use a cloud option you enable.
- The Operator does not operate a backend that hosts your script library as a default part of the Service.
- The Operator does not sell advertising in the extension and does not include third-party analytics SDKs for tracking your browsing.
- Chrome version requirements (currently Chrome 135+, and “Allow User Scripts” on Chrome 138+) are described in the product listing and in-app help. You must meet those requirements for injection to work.
4. License to use RunJS
Subject to these Terms, the Operator grants you a personal, limited, revocable, non-exclusive, non-transferable license to install and use RunJS on Chrome browsers you control, solely for lawful purposes.
You may not: reverse engineer the extension except where mandatory law allows; remove proprietary notices; redistribute modified copies as if they were official RunJS; use the name, icons, or listing to impersonate the Operator; or circumvent security, permission, or store policies.
5. Your scripts and other content
You retain whatever rights you have in CSS, JavaScript, names, URLs, match patterns, and other material you create or import (“Your Content”). You are solely responsible for Your Content and for the sites you target.
By using the Service you represent that you have the right to store and run Your Content on your devices and, if you enable sync, to store it in your Google Account. You grant the Operator only the limited technical permission needed to operate features you use (for example, displaying Your Content in the Dashboard on your device). The Operator does not claim ownership of Your Content.
- Injected code can change how websites look and behave, submit forms, or interact with page scripts. That can violate a site’s terms, local law, or another person’s rights.
- You must not use RunJS to attack systems, steal credentials, distribute malware, evade security, scrape in violation of law or site terms, exploit minors, or otherwise engage in illegal or harmful activity.
- The Operator does not review Your Content before you run it and is not your lawyer, security auditor, or the operator of the websites you customize.
6. Acceptable use
You agree not to misuse the Service or help others do so. Without limitation you will not:
- Interfere with Chrome, other extensions, or other users’ devices;
- Attempt to access the Operator’s systems (if any) or other users’ Google data without authorization;
- Use automated bulk abuse against the Chrome Web Store, Google OAuth, or Drive APIs;
- Upload or sync content you do not have the right to store;
- Use RunJS in a way that creates an unreasonable load on Google APIs or third-party sites;
- Misrepresent the extension’s purpose in a way that would violate Chrome Web Store program policies.
7. Permissions and Chrome settings
Chrome will show permission prompts. Optional host access is requested so injection and certain list-icon fetches can run on sites you choose. Declining host access still allows local saving; injection and some icon features will not work without the grant.
On Chrome 138+, injection also requires you to enable “Allow User Scripts” on the extension’s details page. That toggle is controlled by Chrome, not by a hidden Operator server.
You can revoke host access, disable or uninstall the extension, or sign out of Google at any time through Chrome and Google Account controls.
8. Google authorization and Drive sync
If you choose Connect Google / Drive sync (when that feature is available in your installed version), RunJS will request Google OAuth access so the extension can read and write library files associated with your Google Account—typically an index plus per-script files in Google Drive application data, or other files the app is authorized to use, as described in the in-app UI and Privacy Policy.
This is optional. You can use RunJS entirely locally without connecting Google. Connecting Google is an instruction from you to store or merge Your Content with Google’s services under Google’s terms and privacy policy.
- The Operator does not receive your Google password. Tokens are obtained through Chrome’s identity APIs and Google’s OAuth flow.
- Scopes are limited to what the product needs (for example Drive app-data or files created by the app). RunJS is not a general-purpose Drive file manager and is not authorized to browse your entire Drive unless a future version clearly asks for that and you consent.
- Sync is not a substitute for your own backups. Conflicts, clock skew, network errors, API quotas, revoked consent, or last-write-wins merging can cause data loss or unexpected overwrites. Keep local JSON exports of anything you cannot afford to lose.
- If you disconnect Google or uninstall RunJS, copies may remain in your Google Account until you delete them in Drive / Google Account settings. Uninstalling the extension does not automatically erase Google’s copies.
- Google may change APIs, quotas, or policies. The Operator may pause or change sync if Google or Chrome makes a feature impractical or non-compliant.
9. Import, export, and backups
JSON import/export writes or reads files you choose on your device. Export files are not encrypted by default. Treat them like your script library. Importing can overwrite local entries depending on the conflict option you pick.
You are responsible for storing backups safely and for not sharing them with people who should not have your scripts or target URLs.
10. Third-party websites and services
When RunJS opens a URL or injects on a page, you leave the extension UI and interact with that website under that site’s terms. The Operator does not control third-party sites, their availability, or their content.
List icons may be read from the target site when you have granted access, or from Chrome’s favicon cache. No third-party icon CDN is used for that purpose.
Support or donation links (for example PayPal, Ko-fi, WeChat Pay, Alipay) are optional third-party services. Payments are processed by those providers, not by a RunJS payment backend operated as part of the extension.
11. Intellectual property
The RunJS name, logos, extension package, website, and original documentation are owned by the Operator or its licensors. Chrome, the Chrome logo, Google Drive, and other Google marks are trademarks of Google LLC. Use of those marks in the listing or UI does not mean Google endorses RunJS.
The extension may include third-party open-source libraries (for example editor components) under their own licenses. Those licenses continue to apply to those components.
12. Changes, beta features, and availability
The Operator may add, change, or remove features, including Google sync, to follow Chrome, Google API, or store-policy changes. Pre-release or experimental features may be incomplete or withdrawn.
The Service may be interrupted by browser updates, OS updates, store takedowns, API outages, or your own settings. The Operator does not guarantee uninterrupted or error-free operation.
13. Disclaimer of warranties
THE SERVICE IS PROVIDED “AS IS” AND “AS AVAILABLE.” TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE OPERATOR DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
The Operator does not warrant that injection will succeed on every site, that sync will preserve every edit, that Your Content is safe to run, or that the Service will meet your requirements. You assume the risk of using user scripts on live websites.
14. Limitation of liability
TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE OPERATOR WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR ANY LOSS OF DATA, PROFITS, GOODWILL, OR BUSINESS INTERRUPTION, ARISING OUT OF OR RELATED TO THE SERVICE, EVEN IF ADVISED OF THE POSSIBILITY.
TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE OPERATOR’S TOTAL LIABILITY FOR ALL CLAIMS RELATING TO THE SERVICE IS LIMITED TO THE GREATER OF (A) THE AMOUNTS YOU PAID THE OPERATOR FOR THE SERVICE IN THE TWELVE MONTHS BEFORE THE CLAIM (TYPICALLY ZERO, BECAUSE RUNJS IS OFFERED FREE OF CHARGE) AND (B) USD 50.
Some jurisdictions do not allow certain limitations. In those places, the above limits apply only to the extent allowed. Nothing in these Terms excludes liability that cannot be excluded (for example, liability for death or personal injury caused by negligence where such exclusion is forbidden).
15. Indemnity
You will defend, indemnify, and hold harmless the Operator from claims, damages, losses, and reasonable expenses (including legal fees) arising out of Your Content, your use of RunJS on third-party sites, your violation of these Terms or of law, or your misuse of Google APIs or another person’s account—except to the extent caused by the Operator’s willful misconduct.
16. Suspension and termination
You may stop using the Service at any time by disabling or uninstalling the extension and, if applicable, revoking Google access in your Google Account.
The Operator may stop distributing RunJS, require updates, or refuse support if you materially breach these Terms or if required by law, Google, or the Chrome Web Store. After uninstall, local Chrome storage may be cleared by the browser; Google-hosted copies remain until you delete them.
17. Privacy
The Privacy Policy explains what is stored on-device, what is not collected by the Operator, and how optional Google Drive access works when you enable it. If there is a conflict about data practices, the Privacy Policy controls for that topic; these Terms control license, acceptable use, and liability.
18. Export and sanctions
You must not use the Service if applicable export-control or sanctions laws prohibit you from using Chrome, Google services, or similar software. You are responsible for compliance in your location.
19. Changes to these Terms
The Operator may update these Terms by posting a new version at this URL and changing the “Last updated” date. Material changes to Google scopes or to how Your Content is sent to Google will also be reflected in the Privacy Policy and in-app consent where required.
Continued use after the updated Terms take effect constitutes acceptance, except where local law requires additional consent. If you disagree, uninstall the extension and revoke Google access.
20. Governing law and disputes
These Terms are governed by the laws applicable at the Operator’s principal place of business, excluding conflict-of-law rules, except that mandatory consumer-protection rules in your country of residence still apply and cannot be waived.
Please contact amals.chrome@gmail.com first to try to resolve a dispute informally. If a court or implied jurisdiction is required, courts with competent jurisdiction over the Operator may hear the dispute, without limiting your mandatory consumer rights to sue in your home country where the law so provides.
If you are using the Service as a consumer in the European Economic Area, United Kingdom, or a similar regime, you may also have the right to use statutory dispute-resolution procedures.
21. General
These Terms are the entire agreement between you and the Operator regarding the Service and supersede prior informal statements about the same subject, except the Privacy Policy and any in-app disclosures for a specific feature.
If a provision is unenforceable, the rest remains in effect. Failure to enforce a provision is not a waiver. You may not assign these Terms without the Operator’s consent; the Operator may assign them in connection with a transfer of the project.
The English version of these Terms is the version submitted for Google OAuth branding and Chrome Web Store review. A Chinese translation is provided for convenience. If there is a conflict, the English version controls, except where local law requires the local-language text to prevail.
22. Contact
Questions about these Terms: amals.chrome@gmail.com. Product site: https://amals-chrome.com/runjs/. You may also use the support / contact options on the RunJS Chrome Web Store listing.