Skip to content

[Spec] Add a maximum taxonomy size to the spec #229

Open
@chrisvls

Description

The coarseness of the taxonomy is critical to the value proposition of the Topics API. Every explainer, summary, discussion, etc. that I can find describes it as such.

  • As written, the spec allows implementing browser to implement a taxonomy of 2,000,000,000 entries, consisting of the 2,000,000 most popular websites and 1,000 sub-sites within each. I believe that this would be well outside the intent of the project.

  • As this is perhaps the key expression of the contract and compromise between advertising needs and user needs, it should be recorded in the spec.

  • Without this limit defined in the spec, it is not reasonable to expect users to trust and understand the privacy implications of the feature.

  • Without this limit defined in the spec, one can expect that it will drift upward over time. There are many considerations that will exert pressure to add more entries to the taxonomies.

  • Also, there are interesting questions about international and regional requirements. Without scarcity, these questions are probably not getting the vetting they need.

  • The spec requires exact implementations of much less important behaviors – if the random topics are returned 7 percent or 10 percent or 4 percent of the time, it would not defeat the intent of the project. But this critical requirement is omitted.

I’d assert that:

  • 500 is probably too small
  • 50,000 is probably too large

Also:

  • most explainers currently describe the taxonomy as under 2,000
  • if the community thinks that 10,000 or 50,000 is coarse-grained, then the explainers are not setting expectations correctly, including in the TAG discussions

So I’d propose:

  • In section 2, define topic id as an integer between 1 and 2,000.

Or, alternatively:

  • In section 2, define topic id as an integer between 1 and 5,000.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions