Module: Add Prebid DOOH creative approval support - #4871
Open
AlexChaseJones wants to merge 6 commits into
Open
Conversation
…ached state on invalid or unavailable responses
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new
prebid.doohcreativeapprovalmodule for Digital Out-of-Home requests. The module gives publishers the ability to approve or reject bidder creatives before they can compete in an auction.The module is configured through host and publisher account settings. Host config enables the module, defines hook execution, cache limits, concurrency, and default refresh behavior. Publisher account config supplies the approval endpoint, request headers, status TTLs, and optional bidder exemptions.
This is a step toward better support for publisher-controlled creative review in Prebid Server. DOOH publishers may need to review creative content for venue requirements, screen policies, brand safety, or operational restrictions before allowing it to play. This module provides a configurable approval layer without making PBS the durable source of truth for publisher approval state.
What Changed
prebid.doohcreativeapprovalmodule and registered it in the module builder.processed_auction_requesthook.all_processed_bid_responseshook before winner selection.bid.crid.approved,rejected, andpendingstatuses.Notes
PBS is not the durable approval system. Each PBS process keeps an in-memory cache, while the publisher approval service remains the long-term source of truth.
A first-seen creative is treated as
pendingand excluded from the current auction while PBS starts a background lookup. Later auctions use the returned status.Status TTLs control when PBS attempts a refresh; they do not discard the last-known status. If the publisher approval API is unavailable, previously approved creatives continue serving and previously rejected or pending creatives remain filtered. Creatives with no usable prior status remain pending until a successful response is received.
Cache contents and refresh coordination are local to each PBS process. The module does not add a cache inspection or invalidation API.