Repository navigation
Conversation
The seller declares which exclusion types it accepts and how it
enforces each (exclusions_accepted); the buyer supplies its lists
(exclusions). Blocked apps carry their store, { platform, bundle },
so one store id is never applied across stores. Exclusions are
recompute inputs (§ 3.3) and are never disclosed to other parties
(§ 5.8). The display example declares and supplies lists.
Refs #25
#25 names the content-category list iab_content_category[], a list of IAB Content Taxonomy ids. The earlier commit renamed it content_category with a version-pinned taxonomy_ref, which nobody proposed. This restores the filed name and shape; which taxonomy version to reference is left to the working group. Refs #25
|
Postindustria (IAB Tech Lab member). @Sirajmx, five changes to the block lists, which our audience PR carries. Shared types such as
Whether a seller rejects a list over Our audience PR also shows Revised 2026-11-03: Rewritten for our audience PR; the Analyzed and generated with the help of Claude, fully reviewed by me. |
|
Postindustria (IAB Tech Lab member). @Sirajmx, our errors and extensions PR carries this PR at its head. It gives the new rows Type and Required cells and drops the Our audience PR then makes the block-list changes in our revised comment above. Could you review them there? Analyzed and generated with the help of Claude, fully reviewed by me. |
What this changes
A buyer can now carry its block lists into the proposal. The seller declares which exclusion types it accepts, how many entries, and how it enforces each (
exclusions_accepted, seller-set); the buyer supplies its lists within that declaration (exclusions, supplied): domains, apps, content categories, keywords, or a hash-pinnedlist_reffor large lists. A type the seller doesn't accept is rejected, never silently ignored, andbest_effortenforcement is never presented as a guarantee. Exclusions are recompute inputs (§ 3.3) and are never disclosed to anyone but the buyer (§ 5.8).Related issue
Refs #25
Type
Checklist
scripts/check_appendix.pypassesseller-set29 → 30,supplied3 → 4; 71 → 73 fields; buyer-touched 23 → 24; resolved without a round trip 20 → 21examples/is updated and still parses — the display example declares and supplies listsselectabledeclaresavailable[]andincluded[]; anythingsettabledeclares bounds (§ 3.1, § 3.2) —exclusionsissupplied, bounded byexclusions_acceptedKnock-on effects
{ platform, bundle }. This goes beyond [Change] § 5.5 — Buyer-supplied block lists (exclusions_accepted, exclusions) #25 as filed, which had a flat list, and comes from the issue's discussion: @aleksUIX proposed it (a bare store id can't say whether it is a Roku or an iOS app), and @fgranata, who first preferred a flat list, agreed on 22 Oct. Both also suggested allowing a flat string where the list declares a single platform; that is not added here and is left to the working group. Theplatformvalues match those draft PR § 5.2 — App identity on properties (#15) #17 proposes forproperties.available[].apps[].iab_content_category[]as filed in [Change] § 5.5 — Buyer-supplied block lists (exclusions_accepted, exclusions) #25: IAB Content Taxonomy ids. Which taxonomy version to reference is for the working group. [Change] § 5.2, § 5.5: Structured content categories (taxonomy_ref) on inventory, and a contextual targeting bound #48 proposes a version-pinnedtaxonomy_reffor seller-side content categories.keywordas unsupported orbest_effort. Only the display example is updated here, because draft PR § 5.2 — App identity on properties (#15) #17 also edits the CTV example; the CTV change follows once § 5.2 — App identity on properties (#15) #17 lands.By opening this pull request I agree my contribution may be published under this
repository's licence, as set out in CONTRIBUTING.md.