Skip to content

§ 5.2 — App identity on properties (#15) - #17

Draft
Sirajmx wants to merge 2 commits into
mainfrom
spec/15-app-identity
Draft

Sirajmx wants to merge 2 commits into
mainfrom
spec/15-app-identity

Conversation

@Sirajmx

@Sirajmx Sirajmx commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Draft. Do not merge until the working group confirms the disposition of #15.

What this changes

§ 5.2 properties can now identify apps as well as web domains. Each property in properties.available[] may carry apps[] with platform, bundle, storeurl and domain, keyed as the OpenRTB 2.6 app object where one exists. Each property MUST carry domains, apps or both. A note states that seller authorisation for an app is checked through app-ads.txt on its developer domain. The CTV example now carries an app identity.

Related issue

Refs #15

Type

  • Editorial — no normative effect
  • Normative — changes what the spec requires
  • Breaking — would break an implementation already built to this draft
  • Examples / schema / docs only

Checklist

  • The body section is updated
  • Appendix A (field index) matches the body — no new top-level field; apps sits inside properties
  • Appendix B (fields by marker, and the counts) matches the body — unchanged
  • Any affected example in examples/ is updated and still parses
  • RFC 2119 keywords used deliberately — MUST / SHOULD / MAY are not synonyms
  • The no-inheritance rule (§ 2) still holds
  • Anything selectable declares available[] and included[]; anything settable declares bounds (§ 3.1, § 3.2)
  • No confidential or commercially sensitive content

Knock-on effects

  • domains is no longer always present. A consumer that assumed it was must handle a property carrying only apps.
  • OpenRTB: bundle, storeurl and domain map directly to the 2.6 app object. platform has no OpenRTB equivalent.
  • Related to OQ-7 (OQ-7 — environments[] needs validation against real inventory #8): app_mobile and ctv can't be validated against real inventory without an app identity.

By opening this pull request I agree my contribution may be published under this
repository's licence, as set out in CONTRIBUTING.md.

§ 5.2 properties can carry apps[] (platform, bundle, storeurl, domain),
keyed as the OpenRTB 2.6 app object where one exists. Each property
must carry domains, apps or both. The CTV example carries an app.

Refs #15
@fgranata

fgranata commented Oct 6, 2026

Copy link
Copy Markdown

This shape works for us — bundle + platform is exactly how we key app inventory, and aligning on the OpenRTB 2.6 app object is better than the new names we proposed.

One suggestion on domain: the text says seller authorisation is checked through app-ads.txt on the developer domain, but domain is OPTIONAL, so a buyer has nothing to run that check against when it is absent. Consider "SHOULD be present; REQUIRED when the seller claims app-ads.txt authorisation for the app" (or simply SHOULD).

Without apps[].domain a buyer has nothing to run the app-ads.txt check
against. RECOMMENDED (SHOULD) rather than a conditional REQUIRED, as the
object has no field in which a seller claims app-ads.txt authorisation.

Refs #15
@Sirajmx

Sirajmx commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Thank you. Agreed: without domain, a buyer has nothing to run the app-ads.txt check against.

We have updated the PR to make domain RECOMMENDED (SHOULD, in RFC 2119 terms) rather than OPTIONAL. We kept it at RECOMMENDED rather than a conditional REQUIRED, as the object has no field in which a seller claims app-ads.txt authorisation, so the condition could not be checked. A buyer can still fall back to the developer domain in the store listing (storeurl) when domain is absent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants