If you’re coming from RB2B
Most visitor tools ship a script that runs in the page’s own context. Squid ID isolates the work in a sandboxed iframe and locks the SDK to your domains.| RB2B | Squid ID | |
|---|---|---|
| Execution context | Script in the page context | Sandboxed iframe, isolated from your page |
| Domain lock | Script tag on any page | SDK locked to the hostnames you register |
| Page-level control | Limited | Inclusion or exclusion page rules |
| Transport | HTTPS | HTTPS with hardened headers and a strict CORS policy |
Why this matters. A tag that runs in your page context can read everything on it. Squid ID’s iframe can’t reach into your page, and your page can’t reach into it, so adding Squid ID doesn’t widen your attack surface.
Isolated execution
The SDK does its work inside its own iframe, a separate browsing context from your page. The two communicate only through a narrowpostMessage channel, with a fixed set of allowed messages.
That boundary cuts both ways:
- The iframe cannot read your page’s DOM, your cookies, your local storage, or any other script on the page.
- Your page (and anything else loaded on it) cannot reach into the iframe or its data.
Locked to your domains
The SDK is served by a per-website key, and that website is locked to the exact hostnames you register on its URL list. The SDK only runs on those origins, so a key lifted onto another domain simply won’t work. You can narrow it further with page rules to identify on, or skip, specific URLs.This domain lock is also the most common reason a freshly installed snippet does not connect. If the page serves on a hostname you didn’t register (for example
www.example.com when you registered example.com), add it. See Managing websites and Troubleshooting.Encrypted, hardened transport
- HTTPS everywhere. All traffic is served over TLS. Plain HTTP requests are rejected.
- Hardened headers. Our API sets a strict set of security headers, including a content security policy.
- Strict CORS. Cross-origin requests are checked against an allowlist, and requests with a stripped or null origin are refused, which closes a common CSRF vector.
Authenticated channels
- Realtime. The live connection that powers presence and the live feed is gated by a signed token issued per website, so only your authorized SDK can open it.
- API tokens. Programmatic access uses read-only Bearer tokens that work on GET endpoints only, scoped to your account. See API tokens.
