The install story for Sitora is one script tag, and we are precious about keeping it that way. But 'one tag' is the easy half. The hard half is what that tag does once it is inside someone's site, because an embed is a guest in a house someone else cleans.
Rules we hold the widget to
It loads lazily and adds one small button. No fonts injected into the page, no CSS that can leak into the host site, no layout shift. The chat itself lives in an iframe, so nothing about the host page and the widget can collide in either direction.
It makes zero requests until a visitor actually opens it. Site owners should not pay a performance tax for a feature a given visitor might not use.
It is removable by deleting the line. No residue, no orphaned service workers, no 'contact us to uninstall'. The uninstall story is part of the product.
Why an iframe, honestly
Injecting UI directly into the host page tempts you into reading the host page. We do not want that ability, and owners should not have to trust us not to use it. The iframe boundary makes the promise structural: the widget sees what a visitor types to it, and nothing else about the page around it.
Boring choices, deliberately made. The agent gets to be the interesting part.
Give your website a voice
Free plan, grounded answers with sources, honest handoff. No card.
Build my agent