OpenAds · Embed code & security

Know what you install

Release v6. Review the exact loader source and integrity hash below. These controls reduce risk; they are not an independent security certification.

Ad content runs in a separate-origin sandboxed iframe. A small connection script runs on your page to position, resize and remove that iframe and its close button. It has normal page JavaScript privileges; it is not sandboxed.

Review the exact version

Readable source · Installed file

Connection release: v6. This version number is unrelated to payment or vault versions.

sha384-QLRQQIwfKBf3Mo3dbKZnsj2FMp/FNLnO+ajQItYnjVa09MzujpSXyMQiYYfY/1jM

Integrity verifies file contents, not whether those contents are safe. Review the source and keep the integrity and crossorigin attributes. A changed, unavailable or CORS-blocked file must not trigger an unverified fallback. The readable source is compiled offline into the installed file; both are checked by the release build.

What this connection script does

The close button is outside the ad frame. Under cross-origin isolation, ad-frame content cannot remove that parent control. Closing removes the frame and control, unregisters host listeners and clears its timer; the ad is not recreated on that page. Already committed impressions are not reversed by closing.

Requests and transmitted data

ComponentInformation used or sent
Connection scriptLoads the iframe. Sends allowed positions, viewport and ad dimensions, a random message channel, loader version, top-level/embedded context and a local visibility-check result to it. No general page-content analysis or additional HTTP visibility request.
Ad frameSigned site/embed session, random page-view/event IDs, placement candidates, viewport, refresh index, delivery ticket, visibility fraction and duration, document visibility and displayed dimensions. Connection diagnostics report bounded error/status codes.
Page identityThe signed billing identity remains the registered origin plus /. v6 also records the current pathname, capped at 512 characters, as diagnostic context. URL query parameters and fragments are omitted. Earlier installations provide no pathname. The iframe request's referrer policy sends the origin on cross-origin requests. This statement does not describe Advanced API, Share or Reward integrations.
Browser/networkOpenAds infrastructure can receive IP addresses and normal request metadata. The frame uses its own origin's session storage and locks for same-tab duplicate/popup control. Image requests can reach the HTTPS storage or approved creative URL through a signed redirect; destination sites receive navigation when an ad is clicked.

This is not a claim of anonymous operation or zero data collection. Infrastructure log retention and deletion must be configured and disclosed by the operator before production approval; the loader does not control hosting-provider logs.

Security policy and deployment

Keep your existing CSP. Add only the exact connection script/hash and iframe origin needed by your installation. Do not enable arbitrary scripts, remove integrity checks or broadly relax your page's policy to make an ad work. For strict policies, your developer must merge the necessary allowances into the existing policy.

The ad document separately restricts scripts and API calls to its origin, blocks forms and top-level navigation through its sandbox, and disables camera, microphone, geolocation, payment and USB features. It allows HTTPS images because the existing signed asset endpoint redirects to creative storage. That image allowance applies inside the ad frame, not to the parent page's CSP, and is not a guarantee that every image host or landing page is trustworthy. No additional server-side image proxy is introduced.

Do not serve the ad frame through a same-origin proxy on your website. The sandbox's origin-preservation and popup permissions support frame communication, duplicate control and working ad landing pages; removing them without integration changes can break delivery. Normal ad links use noopener/noreferrer. HTTPS and signed destination links do not certify a landing page as non-phishing.

Stop or remove OpenAds

Visitors can use the close button centered on the ad's top-right corner to end the current page's ad. The circle's lower-left quadrant overlaps the creative, and its larger transparent interaction target is centered on the same point. Publishers can stop future loads without the OpenAds dashboard: remove both the iframe and script installation tags, publish the change and reload the page. Remove all copies from templates/tag managers. A page already open must reload or close its ad.

Do not just add hidden to the iframe: installation starts hidden and the host intentionally reveals it. Do not remove only the close button. Removing the complete installation does not delete historical reporting or earnings.

Updates and verification

v6 adds framework-compatible installation discovery and a local visibility check before reporting a view. Earlier pinned files remain unchanged and keep their earlier visibility behavior until their installation code is replaced. The renderer accepts those earlier hosts for compatibility. Local tests cover hidden and transparent frames, image failure, short views, installation timing and response retries.

Browser measurements are diagnostic evidence, not independent proof that a person saw an ad. Hit testing does not detect every overlay, including noninteractive overlays, and a cross-origin outer page cannot be fully inspected. These checks do not certify malicious publishers or continuously sample page styling.

Different executable bytes require a new version and hash. Review changes before replacing installation code. If a security issue affects your version, stop the installation while reviewing the replacement; do not keep a vulnerable version merely because it is pinned. Source review and local tests do not replace verification of the deployed file, headers and actual advertising flow.

To report a security issue, contact @openadsworld on X. OpenAds will never ask for a seed phrase or private key.