Skip to content

spec: should managed_by be mutual (manager-edge reciprocation)? #4524

@bokelley

Description

@bokelley

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    brandIssue concerns the brand protocol domainenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions