Wrapper disclosure template
Use this as suggested wording in your product. It is a starting point, not mandatory legal language, so adapt it to your UI, jurisdiction, and consent posture.
Suggested disclosure text
disclosure.txt
text
This application displays sponsored content provided by wavebird.
Ads are matched using topic categories and language preferences.
Your prompts and conversations are not shared with advertisers.
You can learn more about how ads work in our privacy policy.HTML snippet
disclosure.html
html
<aside class="ad-disclosure" aria-label="Sponsored content disclosure">
<p>This application displays sponsored content provided by wavebird.</p>
<p>Ads are matched using topic categories and language preferences.</p>
<p>Your prompts and conversations are not shared with advertisers.</p>
<p>You can learn more about how ads work in our privacy policy.</p>
</aside>React snippet
Disclosure.tsx
tsx
export function SponsoredDisclosure() {
return (
<aside aria-label="Sponsored content disclosure" className="ad-disclosure">
<p>This application displays sponsored content provided by wavebird.</p>
<p>Ads are matched using topic categories and language preferences.</p>
<p>Your prompts and conversations are not shared with advertisers.</p>
<p>You can learn more about how ads work in our privacy policy.</p>
</aside>
);
}Ad label requirements
The SDK always shows a visible ad label and wrappers cannot disable it. Deprecated options such as showLabel={false} are ignored and only produce a console warning.
- Default label text adapts to the configured
jurisdictionZoneand the user's browser language. - Wrappers can customize the label with
labelText. Ineu_strict, custom labels are limited to an approved list such asAnzeige,Werbung,Sponsored,Publicité,Publicidad,Publicidade,Pubblicità,Advertentie,広告,광고, andAd. - Outside
eu_strict, wrappers may use free text labels, but they must still be non-empty and at least 2 characters long. - Minimum visual requirements are enforced for compliance: at least 11px font size, at least 2px 6px padding, readable foreground and background defaults, and tamper-resistant styles that restore the label if CSS tries to hide it.
German wrappers should review UWG §5a, MStV §22, and MStV §8 when assessing disclosure and identification duties in Germany.
Suggested text only. Wrappers should adjust their wording to match their exact consent flow, product naming, and applicable legal requirements.
API first, Script Tag second, SDK third
These pages are the advanced package layer for teams that intentionally choose @csl/wrapper-sdk. Primary onboarding still lives in the API docs, and browser-first installs should start with the Script Tag. Use contact only when you want rollout review, enterprise coordination, or help with non-standard integration constraints. Beacon billing rules live in SDK Concepts.