Hosted pages
Run your own consent banner and support chat on the partner portal and join pages served on your domain.
On your own portal domain (for example partners.yourapp.com, see Settings → Domains), Referalli serves the partner portal and the /join pages. Those pages run your consent banner and your support chat, never Referalli's, and send a Content-Security-Policy that admits exactly what you enable.
Set it in Settings → Domains → Consent and chat on your portal domain, or with PUT /v1/org/hosted-pages. Changes reach your domain within a minute.
Consent banner
Option | What you give |
|---|---|
None | Nothing. The portal sets only its strictly necessary sign-in cookie. |
Built-in notice | Your privacy policy URL. A small, accessible notice says the portal uses only necessary cookies and links your policy. |
Cookie Munch | Your site id ( |
OneTrust, Cookiebot, Usercentrics, Didomi, Osano, Termly, iubenda | The script URL from the vendor's embed snippet (https, on the vendor's own hosts) and its attributes, such as |
Custom | Any https script URL, plus every origin it needs per directive, and optionally the function that opens its preferences. |
The account menu's Cookie settings item opens your tool's preference centre.
curl -X PUT $BASE/v1/org/hosted-pages -H "Authorization: Bearer $KEY" -H "content-type: application/json" -d '{
"consent": { "adapter": "onetrust", "config": { "scriptUrl": "https://cdn.cookielaw.org/scripttemplates/otSDKStub.js", "attrs": { "data-domain-script": "0190-..." } } },
"chat": { "adapter": "intercom", "config": { "appId": "abc123xy", "region": "eu" } }
}'Support chat
Chatly (public id), Intercom (app id and region), Crisp (website id), or a custom script with its origins.
Content-Security-Policy
The policy starts from this origin only (images may be any https URL, for logos and partner assets) and adds the origins your consent tool and chat declare, plus any you list under Other origins (https or wss, no wildcards, no keywords). GET /v1/org/hosted-pages shows it under served.csp. With nothing enabled it contains no third-party origin.