Choose your integration format
SDK Lite
Best when you want a guided start, examples, and minimal decision fatigue.
RTO.min.js
Ideal when one compact bundle fits your page better than individual helper files.
RTO_helpers and packs
Choose these when you want an explicit integration layer and a cleaner mental map of what each helper does.
Choose a format
There are four simple ways to start. Pick one strategy per page.
| Format | When to use it | Open |
|---|---|---|
| SDK Lite | The easiest start for beginners: one bundle, quick start notes, and starter examples in one package. | |
RTO.min.js |
The easiest one-file bundle if you do not need the full SDK package and prefer one script include. | Download |
| Helper packs | Best when you want grouped building blocks: core API, UI helpers, allow-list tools, favorites, or DOM tools. | |
| Individual helpers | Best when you want fine-grained control over the exact files you load. | Browse helpers |
RTO.min.js if you want one bundle without the extra SDK notes and examples.
Use helper packs if you want grouped building blocks such as RTO.core, RTO.ui, RTO.allowlist, RTO.favorites, RTO.domtools, RTO.visibility, and RTO.formhelpers.
Use individual files only if you want fine-grained control.
RTO v8.5.0 publication note
RTO v8.5.0 aligns the public site with the faster extension detection line and keeps diagnostics silent by default.
RTO v8.5.0 keeps the secure add-on channel introduced in v8.4.0 and adds the instant detection support files. Publication packages must include src/common/external_bridge_api.js, src/common/detect_injector.js, src/common/rto_lock_guard.js, src/common/rto_domain_lock.js, src/content/detect_probe.js and src/content/page_bridge.js alongside the existing background, content and UI files.
SDK Lite and helper files are now aligned with the RTO v8.5.0 public release line.
Individual files
You can also download a single helper file (useful if you only need one UI widget):
| File | What it does | Download |
|---|---|---|
RTO_form_api.js |
Core API wrapper (recommended for all projects). | Download |
RTO_detector.js |
Small helper to detect the extension once. | Download |
RTO_connector.js |
Detect + set a global connection flag for UI helpers. | Download |
RTO_tabsList.js |
Normalized listTabs snapshot utilities. | Download |
RTO_openTab_button.js |
Bind buttons to open/navigate/focus a remote tab. | Download |
RTO_openTabsListing.js |
Fill a <tbody> with currently controlled tabs. | Download |
RTO_visible_when_tab.js |
Show/hide elements depending on whether a tabKey is open. | Download |
RTO_domainList.js |
Allow-list API wrapper. In 8.4.0, page-side add requests still go through allowlistAddRequest. |
Download |
RTO_addRemoveDomain.js |
Allow-list UI binder with the current confirmation flow on the master tab. | Download |
RTO_favoritesList.js |
Favorites API wrapper with URL-based dedupe and label preservation. | Download |
RTO_addRemovefavorite.js |
Favorites UI binder that reports success only after the real helper call succeeds. | Download |
RTO_DOM_focus.js |
Focus a selector inside a controlled tab. | Download |
RTO_DOM_highlight.js |
Highlight a selector inside a controlled tab. | Download |
RTO_DOM_style.js |
Apply safe visual highlight styles to a selector inside a controlled tab. | Download |
RTO_DOM_actions.js |
Button-driven read/highlight/close actions. | Download |
Status UI pattern |
Beginner-friendly detect + allow-list banner built from the shipped helpers. See the documentation page instead of a standalone download. | Open doc |
Recommended load order
Choose one loading style below. The most important rule is simple: load the core first.
<!-- Option A: individual files -->
<script src="../RTO_helpers/RTO_form_api.js"></script>
<script src="../RTO_helpers/RTO_connector.js"></script> <!-- sets window.RTOconnected -->
<script src="../RTO_helpers/RTO_domainList.js"></script> <!-- allow-list API -->
<script src="../RTO_helpers/RTO_favoritesList.js"></script> <!-- favorites API -->
<script src="../RTO_helpers/RTO_tabsList.js"></script> <!-- normalized listTabs snapshot -->
<script src="../RTO_helpers/RTO_openTab_button.js"></script>
<script src="../RTO_helpers/RTO_openTabsListing.js"></script>
<script src="../RTO_helpers/RTO_visible_when_tab.js"></script>
<script src="../RTO_helpers/RTO_addRemoveDomain.js"></script>
<script src="../RTO_helpers/RTO_addRemovefavorite.js"></script>
<!-- Option B: packs -->
<script src="../RTO_helper_packs/RTO.core.min.js"></script>
<script src="../RTO_helper_packs/RTO.ui.min.js"></script>
<script src="../RTO_helper_packs/RTO.allowlist.min.js"></script>
<script src="../RTO_helper_packs/RTO.favorites.min.js"></script>
<script src="../RTO_helper_packs/RTO.domtools.min.js"></script>
<!-- Option C: one-file bundle -->
<script src="../RTO_helpers.min/RTO.min.js"></script>
RTO_form_api.js first.
If you use packs, load RTO.core.min.js first, then add only the optional packs the page actually needs (RTO.ui, RTO.allowlist, RTO.favorites, RTO.domtools).
If you use RTO.min.js, it is already the all-in-one bundle.