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
- Locates the iframe named in the installation, including when a framework moves the script into the page head. Waits up to 15 seconds for that iframe to mount and creates one adjacent close button.
- Accepts messages only from that iframe's exact origin and window; checks the channel, message shape and selected placement.
- Enforces the installed ad position, native-size limits and proportional fit. It checks iframe and ancestor display, opacity, visibility and four interior hit-test points at display and before reporting a view. It does not accept arbitrary HTML, styles, navigation or script commands.
- Does not read form inputs, cookies, page storage, wallet objects or page text. This describes this version's behavior, not a browser-enforced permission boundary.
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
| Component | Information used or sent |
|---|---|
| Connection script | Loads 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 frame | Signed 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 identity | The 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/network | OpenAds 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.