Follow-up from PR #4505 (distributed brand.json).
What landed
`managed_by` on `brand_refs[]` entries is a directory field: a house unilaterally declares which agency / manager operationally runs each brand. Consumers MUST NOT extend trust through it, but aggregation ("show me everything BBH manages") is the explicit intended use.
```json
// wpp.com's brand_refs[] entry
{ "domain": "bbh-sport.com", "brand_id": "bbh_sport", "managed_by": "bbh.com" }
```
The open question
Should BBH be required to reciprocate that claim — publish at `bbh.com/.well-known/brand.json` something like `manages: [bbh-sport.com]` — for the `managed_by` value to carry weight in a consumer-facing view?
Today (unilateral)
- WPP claims BBH manages BBH Sport.
- BBH says nothing.
- Consumer renders BBH's portfolio (aggregated across all houses that claim BBH-as-manager).
- BBH has no veto.
Mutual-asserted alternative
- WPP claims BBH manages BBH Sport (`brand_refs[].managed_by`).
- BBH publishes a reciprocal claim (`managed[]` or similar field on bbh.com's brand.json).
- Consumer only aggregates when both sides agree.
- BBH can drop a brand by un-publishing the reciprocal.
Why this matters
The unilateral form means a holdco could falsely claim an agency manages brands the agency doesn't actually touch. The agency can't push back at the protocol level. In aggregate-view UIs this is misleading ("BBH's portfolio" shown to a buyer-DSP, but BBH never agreed).
The mutual form fixes that but adds a second publishing surface (every agency that wants to be listed has to publish a brand.json, which agencies don't currently do).
Options
A. Stay unilateral. Document that `managed_by` claims are house-declared only. UIs SHOULD render with "as declared by [house]" attribution. Agency-managed-by-mishap is the agency's problem; they can publish a public statement.
B. Add typed manager-side reciprocation. Define a new top-level field on `brand.json` for agencies (`manages: [{ house, brand_id }]` or `manages: [{ domain }]`). Consumers extend the aggregation gate accordingly.
C. Defer to identity / trust signals elsewhere. Use AdCP's emerging identity / agent-authorization protocols rather than a new brand.json field.
Recommendation (for discussion)
B is the right shape long-term but it's a new publishing surface that depends on agencies adopting brand.json (today they don't, because they don't own brands themselves).
Practically, A is the right shape for v1, with a note that B is the planned extension when agency adoption is real enough to support it.
Related
Follow-up from PR #4505 (distributed brand.json).
What landed
`managed_by` on `brand_refs[]` entries is a directory field: a house unilaterally declares which agency / manager operationally runs each brand. Consumers MUST NOT extend trust through it, but aggregation ("show me everything BBH manages") is the explicit intended use.
```json
// wpp.com's brand_refs[] entry
{ "domain": "bbh-sport.com", "brand_id": "bbh_sport", "managed_by": "bbh.com" }
```
The open question
Should BBH be required to reciprocate that claim — publish at `bbh.com/.well-known/brand.json` something like `manages: [bbh-sport.com]` — for the `managed_by` value to carry weight in a consumer-facing view?
Today (unilateral)
Mutual-asserted alternative
Why this matters
The unilateral form means a holdco could falsely claim an agency manages brands the agency doesn't actually touch. The agency can't push back at the protocol level. In aggregate-view UIs this is misleading ("BBH's portfolio" shown to a buyer-DSP, but BBH never agreed).
The mutual form fixes that but adds a second publishing surface (every agency that wants to be listed has to publish a brand.json, which agencies don't currently do).
Options
A. Stay unilateral. Document that `managed_by` claims are house-declared only. UIs SHOULD render with "as declared by [house]" attribution. Agency-managed-by-mishap is the agency's problem; they can publish a public statement.
B. Add typed manager-side reciprocation. Define a new top-level field on `brand.json` for agencies (`manages: [{ house, brand_id }]` or `manages: [{ domain }]`). Consumers extend the aggregation gate accordingly.
C. Defer to identity / trust signals elsewhere. Use AdCP's emerging identity / agent-authorization protocols rather than a new brand.json field.
Recommendation (for discussion)
B is the right shape long-term but it's a new publishing surface that depends on agencies adopting brand.json (today they don't, because they don't own brands themselves).
Practically, A is the right shape for v1, with a note that B is the planned extension when agency adoption is real enough to support it.
Related