# Website Categorization policy pack `policy_v2` — group reference

Companion to §11 of the Website Categorization bulk feed data dictionary
(<https://website-categorization.whoisxmlapi.com/database/specifications/data-dictionary>), to the real-time API's
`?pack=policy_v2` parameter and to the `policy_v1` reference [`website-categorization-policy-pack-v1.md`](https://website-categorization.whoisxmlapi.com/samples/website-categorization-db/website-categorization-policy-pack-v1.md), which this pack
succeeds. Pack `policy_v2`, mapping version **2026.09.1**, taxonomy `iab_v3.1`, 47 groups.
Branched from `policy_v1` mapping 2026.09.2.

## What changed from `policy_v1`

Two things, and nothing else:

1. **The `news` group is retired; its nodes are `current_events`.** `policy_v1` published the
   three current-affairs topic roots — `Crime`, `Disasters`, `War and Conflicts` — under
   the id `news`, which reads like "news sites" and is not: IAB v3.1 has no news-publisher node,
   so no group contains newspapers or news portals, and a policy that allowed or blocked `news`
   allowed or blocked no news site. The same three roots are now `current_events`, an id that
   says what they are. **Migration:** replace `news` with `current_events` in any policy written
   against `policy_v1` ids. Every other node — 701 of 704 — resolves to exactly
   the group `policy_v1` 2026.09.2 gives it, and every other group keeps its id, name and
   `sensitive` flag.
2. **The projection reads the brand-safety axis first.** `policy_v1` computed `policy_group`
   from the primary IAB label alone. `policy_v2` carries a `safety_rules` table — brand-safety
   theme → group — and reads a row's flagged themes _before_ its labels, so a domain the adult,
   gambling or Sensitive-Topics detector flagged lands in the block-critical group **with
   provenance** (`policy_basis` = `safety`) unless its primary label already puts it in a
   different block-critical group — the safety axis never moves a row _out_ of one. The
   precedence is spelled out in [the next section](#the-safety-first-projection); it runs on
   the feed from schema 1.14.0 and on the API once the API carries the safety axis.

Why a new pack id rather than a `policy_v1` version bump: a group **id never changes meaning
inside a pack**. A rename is a retirement, and a retirement is a new pack id — so a policy
written against `policy_v1` ids keeps working unchanged for as long as `policy_v1` is served,
and adopting `policy_v2` is an explicit, one-word migration. The lineage is recorded in the
pack itself (`previous_pack`, below) and checked against both packs' frozen mappings in CI.

### Selecting the pack

- **API.** `?pack=policy_v2` together with `include=policy` on `/api/v4/categorize` and
  `/api/v4/categorize/bulk`, or on `/api/v4/taxonomy` for the full annotated tree, whose
  top-level `pack` object also lists every group's `block_with` union (see
  [Block-with unions](#block-with-unions)). `?pack=policy_v1` keeps working; without `?pack=`
  the API projects through its default pack (`policy_v1` today — a change of default is
  announced in the API changelog before it ships).
  An id the API does not bundle is a `422` (`policy_v3` is bundled too); a bundled pack the
  server has not loaded is a `503`, never a silently un-annotated `200`. `?pack=policy_v2` is
  served from the API image that carries the
  pack, announced in the API changelog when it ships; an earlier image does not know the id and
  answers `422`. **Today the API's `policy` block projects the primary label
  only** (`policy.basis` is `primary`, or `null`): the API does not yet carry the brand-safety
  axis, so the safety-first read below applies to the **feed** first; it reaches the API
  together with the API's safety block, announced in the API changelog when it ships.
  The same block also carries `confidence_basis` — what that row's `confidence` numbers
  actually are, one of `model_raw`, `filter`, `rule`, `curated`, `carry_over` or `none`,
  where `none` means there is no label to attribute a confidence to or the writer was not
  recorded. It also carries `abstained`, the same flag as the top-level
  `abstain.is_abstain`: when it is `true` the `group` stays populated but is **advisory** —
  we still project whatever was classified, but the classification itself is one we flagged
  in `abstain` (no real business purpose, or too little text to judge).
- **Feed.** `manifest.json` → `policy_pack.id` names the pack a snapshot was exported under, and
  every row carries it as `policy_pack_version` (`policy_v2@2026.09.1`). `policy_v2` becomes
  the feed's pack with feed schema **1.14.0** — see the Website Categorization feed changelog for
  the date, the row-level effect and what `safety_flags` is populated from on a given
  artifact. A pack change ships via full snapshot only; the policy columns are derived, not
  tracked, so a delta never carries one.

## The safety-first projection

`policy_group` (feed, schema ≥ 1.14.0) is read from three signals in a fixed order, and
`policy_basis` names the one that answered. (The API's `policy.group` / `policy.basis` read the
primary label only until the API carries the safety axis — see _Selecting the pack_ above.)

| `basis`        | Read from                                                                                             | Answers when                                                                                                                                                                               |
| -------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `safety`       | the row's flagged brand-safety themes (feed `safety_flags`, schema ≥ 1.14.0)                          | a flagged theme names a group, unless the primary label already sits in a _different_ sensitive group (except the theme-unknown bucket `sensitive_other` — see the rules below)            |
| `site_purpose` | the site-purpose label (`site_purpose_tier1..4`), resolved through the same rule table as the primary | it is populated and resolves, and no flagged theme names a group                                                                                                                           |
| `primary`      | the primary IAB label (`tier1..tier4`), deepest matching prefix wins                                  | otherwise, when it resolves — and always when it already sits in a sensitive group a flagged theme does not name (except the theme-unknown bucket `sensitive_other` — see the rules below) |
| `role`         | — reserved —                                                                                          | never, in this pack; **reserved** for the role axis in a later release — no date is promised. Strict-enum clients: admit it now so a future artifact cannot break you.                     |

`group` and `basis` are `null` together, exactly when nothing resolves: no flagged theme names a
group, and neither the site-purpose label nor the primary label resolves (an unknown tier-1 with
no site-purpose label, say). `basis` is a **closed vocabulary** — `safety`, `site_purpose`,
`primary` — with `role` reserved; a client that validates the field against an enum should admit
all four today.

### Safety rules

| Theme (`safety_flags` value) | Projects to                 | Notes                                                                                                                                                                                                                                                                                                     |
| ---------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `adult`                      | `adult`                     | Adult rule filter (pipeline/adult_filter), adjacent fires. Overrides any non-sensitive primary group; confirms an `adult` primary with basis `safety`.                                                                                                                                                    |
| `gambling`                   | `gambling`                  | Gambling rule filter, licensed-casino target (the row's own label is `Attractions > Casinos & Gambling`).                                                                                                                                                                                                 |
| `harmful_gambling`           | `harmful_content`           | Gambling rule filter, HARMFUL target (illegal/unlicensed markers) — the same node the primary label lands on, `Sensitive Topics > Spam or Harmful Content`; deliberately not `gambling`.                                                                                                                  |
| `sensitive`                  | `sensitive_other`           | Sensitive-Topics filter: sensitive, theme unknown. A primary label that already names a specific sensitive theme (`Sensitive Topics > Adult & Explicit Sexual Content` → `adult`) answers instead; a bare `Sensitive Topics` label is the same group, so the verdict answers and is the row's provenance. |
| `vendor`                     | — (no group; falls through) | Vendor rule: a ROLE verdict (the site sells the thing), not a topic — names no group; the projection falls through to site_purpose / primary.                                                                                                                                                             |

One precedence, for every theme, exactly as the CI tests pin it:

- **A flagged theme overrides any non-sensitive primary group.** `adult` on a row stored as
  `Entertainment > Movies` reads `adult` / `safety`; `sensitive` on the same label reads
  `sensitive_other` / `safety`.
- **A flagged theme confirms a primary already in the same group.** `adult` on a row stored as
  `Sensitive Topics > Adult & Explicit Sexual Content` reads `adult` / `safety`; `sensitive` on
  a bare `Sensitive Topics` label reads `sensitive_other` / `safety`. The block is the same;
  the basis records that a detector, not only the label, put the row there — this is what makes
  the block set of the legacy filter rows reproducible from the safety axis alone.
- **A primary already in a _different_ sensitive group answers itself.** The label is at least
  as specific as the verdict: `sensitive` on `Sensitive Topics > Adult & Explicit Sexual
Content` keeps `adult` / `primary`, on `Sensitive Topics > Online Piracy` keeps `piracy` /
  `primary`; `gambling` on the adult label keeps `adult` / `primary`. The row stays in its
  block-critical group and the verdict stays on the row in `safety_flags`; a site-purpose label
  is **not** consulted in this case, so the row cannot be pulled out of the group. The one
  exception is the theme-unknown bucket: `sensitive_other` says only _sensitive, theme unknown_,
  so it is never as specific as a theme-specific verdict — `adult` on a bare `Sensitive Topics`
  label reads `adult` / `safety` (so does `["adult", "sensitive"]` on it). The row stays in a
  block-critical group, only a more specific one.
- **`vendor` names no group.** It is a _role_ verdict (the site sells the thing) rather than a
  topic, so the projection falls through to `site_purpose` and then `primary`.
- **Several flagged themes:** the first entry in the table order that may answer does; a theme
  that names the primary's own sensitive group wins over one that does not. A theme the pack
  does not know (a shadow theme, a typo in a flag) is ignored — the projection runs over every
  row and must always answer.

What the projection does and does not change:

- **Blocks are preserved, with provenance.** Every node `policy_v1` placed in a block-critical
  group is still in one under `policy_v2`, and the safety axis can only move a row _into_ a
  block-critical group — never out of one: a flagged row whose primary label already sits in a
  different sensitive group keeps that group, except the theme-unknown bucket `sensitive_other`,
  which a theme-specific verdict refines to that theme's group (basis `safety`). Rows the
  brand-safety filters flagged additionally arrive there with `basis = safety`. A block list
  keyed on group ids needs only the `news` → `current_events` edit. (The site-purpose axis sits
  between safety and primary exactly as the `policy_v1` reference documented it; it is empty on
  every row today, and when it is populated it outranks the primary label on a row with no
  applicable flagged theme.)
- **It still cannot repair a wrong primary label on an unflagged row.** An adult site the
  detectors did not flag and the classifier stored as `Entertainment > Movies` reads
  `entertainment` / `primary`, exactly as under `policy_v1`. No accuracy figure attaches to a
  group by virtue of the pack; where per-group precision or recall is quoted, it is quoted with its frame and
  sample size, never here. Evaluate on your own domains before you block on it.
- **`sensitive_other` shrinks only by a theme-specific verdict.** The Sensitive-Topics detector
  reports _sensitive, theme unknown_; its flagged rows project to `sensitive_other` unless the
  primary label already names the theme or a theme-specific detector flags the row (`adult` on
  a bare `Sensitive Topics` label reads `adult` / `safety`). Until such a detector runs on those
  rows, the bucket does not shrink.

Worked examples on feed rows (`safety_flags`, site-purpose label, primary label → `group` /
`basis`):

| `safety_flags`         | site_purpose                       | primary label                                        | → group / basis              |
| ---------------------- | ---------------------------------- | ---------------------------------------------------- | ---------------------------- |
| `["adult"]`            | —                                  | `Entertainment > Movies`                             | `adult` / `safety`           |
| `["harmful_gambling"]` | —                                  | `Sensitive Topics > Spam or Harmful Content`         | `harmful_content` / `safety` |
| `["sensitive"]`        | —                                  | `Sensitive Topics > Adult & Explicit Sexual Content` | `adult` / `primary`          |
| `["gambling"]`         | —                                  | `Sensitive Topics > Adult & Explicit Sexual Content` | `adult` / `primary`          |
| `["sensitive"]`        | `Entertainment`                    | `Sensitive Topics > Adult & Explicit Sexual Content` | `adult` / `primary`          |
| `["sensitive"]`        | —                                  | `Sensitive Topics`                                   | `sensitive_other` / `safety` |
| `["adult"]`            | —                                  | `Sensitive Topics`                                   | `adult` / `safety`           |
| `["vendor"]`           | —                                  | `Business and Finance > Industries`                  | `business` / `primary`       |
| `[]`                   | `Attractions > Casinos & Gambling` | `Entertainment`                                      | `gambling` / `site_purpose`  |
| `[]`                   | —                                  | `Crime`                                              | `current_events` / `primary` |
| `[]`                   | —                                  | _(unknown tier-1)_                                   | `null` / `null`              |

## Versioning and lineage

The mapping is versioned independently of the feed schema and the API, exactly as for
`policy_v1` (see its Versioning section [`website-categorization-policy-pack-v1.md`](https://website-categorization.whoisxmlapi.com/samples/website-categorization-db/website-categorization-policy-pack-v1.md) for the CalVer rules,
the changelog fields and the frozen per-version snapshots — all of which apply unchanged; this
pack's snapshots are `policy_packs/data/history/policy_v2@<version>.json`). Pin the version
(feed: `manifest.json` → `policy_pack.version`, or the per-row `policy_pack_version`; API:
`policy.pack_version`) if your policy depends on exact group membership. A change to a
`safety_rules` entry is a mapping change too: it bumps the version and is recorded in the
changelog like a moved path. So is a change to a group's `block_with` union: from feed schema
1.14.0 the union is expanded into every row's `policy_group_set`, so a union that changes
changes rows.

One block is new in kind. A pack that succeeds another carries **`previous_pack`** — the
machine-readable cross-pack diff, in the same shape as a changelog entry, checked in CI against
the predecessor's frozen mapping and this pack's own first-version mapping:

| Field                            | Meaning                                                                                            |
| -------------------------------- | -------------------------------------------------------------------------------------------------- |
| `pack`, `version`                | the pack and mapping version this id branched from (`policy_v1`, `2026.09.2`)                      |
| `moved`                          | every taxonomy path whose group differs between the two, as `{path, from, to}` — the complete diff |
| `added_groups`, `retired_groups` | group ids that exist only in this pack / only in the predecessor                                   |
| `notes`                          | the human explanation                                                                              |

## Block-with unions

A group's **`block_with`** names the other groups a policy that blocks it should block alongside
it — the unions this reference has always described in prose ("block `gambling`,
`gambling_games` and `harmful_content` to block everything gambling-shaped"), now carried by the
pack itself so a client can expand a block list without reading this page. `policy_v2` declares
three:

| Block …    | … with                              | Why                                                                                                                                                                                                                  |
| ---------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gambling` | `gambling_games`, `harmful_content` | simulated casinos are a separate group by design (Option C), and the gambling detector's illegal-gambling markers land on `Sensitive Topics > Spam or Harmful Content`, i.e. in `harmful_content`, not in `gambling` |
| `drugs`    | `alcohol`, `tobacco`                | IAB's single substances node holds the _sensitive_ framing of all four substances; the neutral beverage and cigar content of the same substances sits in the two consumer groups                                     |
| `weapons`  | `hunting_fishing`                   | hunting and shooting sports are split from firearms, as in Cisco, BrightCloud, Fortinet and Palo Alto                                                                                                                |

Three rules keep the metadata honest:

- **Symmetric.** Every partner declares the group back — `gambling_games` and `harmful_content`
  each name `gambling`, `alcohol` and `tobacco` name `drugs`, `hunting_fishing` names `weapons`
  — and the pack refuses to load otherwise. `block_with` lists a group's _direct_ partners, not
  the transitive closure: `gambling_games` names `gambling` only, so a policy keyed on
  `gambling_games` alone does not reach `harmful_content` — start from the head group of the
  union (`gambling`, `drugs`, `weapons`) to get all of it.
- **Advisory, never a rule.** `block_with` moves no row: `policy_group` is exactly what the
  mapping and the safety-first projection give it. The union says which _other_ groups a
  block policy should key on; whether to pay for the wider block is your call (see the cost
  below).
- **Versioned like the mapping.** From feed schema 1.14.0 every row also carries
  `policy_group_set` — its own group plus every group whose union names it — so a union that
  changes changes rows: a `block_with` edit bumps the mapping version like a moved path.

Where to read it: `GET /api/v4/taxonomy?pack=policy_v2` → `pack.groups[<group id>].block_with`
(every group is listed; a group with no union carries `[]`), and the **Block with** column of
the [group table](#groups) below, which is generated from the pack.

**What a union costs.** A union is wider than its head group on purpose, and the extra rows are
not all the thing you set out to block:

- **Gambling** adds `harmful_content` wholesale. On the 2026-09-02 reference partition (one of
  sixteen) the gambling-shaped union is 253,735 `gambling` + 0 `gambling_games` + 6,401
  `harmful_content` = 260,136 rows; of the 6,401 `harmful_content` rows, 6,169 are the
  gambling rule filter's illegal-gambling markers and 232 are ensemble spam/scam rows with no
  gambling shape — the over-block is those 232 of the 6,401, in a union of 260,136. A policy
  that wants only real-money gambling keys on `gambling` alone; one that wants everything
  gambling-shaped accepts blocking spam and scam content with it.
- **Drugs** adds neutral consumer content — breweries, wineries, wine and spirits retail
  (`alcohol`); cigar hobby and retail (`tobacco`) — that a sensitive-substances policy does not
  need unless it is a total substances block.
- **Weapons** adds sport hunting, shooting sports and fishing (`hunting_fishing`), which a
  firearms-sales block does not otherwise touch.

## Groups

The **Nodes** column counts the IAB v3.1 categories (of 704) that project to the group; the
**Block with** column is the group's `block_with` union (blank for a group with no union — see
[Block-with unions](#block-with-unions)); the **Rule paths** column lists the IAB paths the pack
names explicitly (each rule also covers the path's descendants unless a deeper rule overrides
it). Where a group's row reads exactly as in the `policy_v1` reference, that is because the
mapping is the same.

| Group id                  | Name                            | Sensitive | Nodes | Block with                          | Definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Rule paths                                                                                                                                                                 |
| ------------------------- | ------------------------------- | :-------: | ----: | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `adult`                   | Adult                           |    yes    |     2 |                                     | Pornography and explicit sexual content (IAB `Sensitive Topics > Adult & Explicit Sexual Content`), plus adult-only video games. Vendors call this Adult / Pornography. Sex education and sexual health are `health`; lingerie retail is `fashion_beauty`; dating is `dating`. IAB v3.1 has no separate non-sexual-nudity node.                                                                                                                                                                                                                                                                                                                                                 | `Sensitive Topics > Adult & Explicit Sexual Content`<br>`Video Gaming > Video Game Genres > Adult Video Games`                                                             |
| `gambling`                | Gambling                        |    yes    |     3 | `gambling_games`, `harmful_content` | Real-money gambling: casinos and betting (`Attractions > Casinos & Gambling`), lotteries and scratchcards (`Shopping`), and poker and professional gambling (`Sports`). Casino-themed video games with no real-money play are the separate `gambling_games` group (Option C, 2026.09.2). Lotteries sit inside Gambling for most vendors; fantasy sports and horse racing stay in `sports` (Cisco, Palo Alto convention). Illegal-gambling markers detected by our gambling rule filter land on `Sensitive Topics > Spam or Harmful Content`, i.e. in `harmful_content` — block `gambling`, `gambling_games` and `harmful_content` to block everything gambling-shaped.          | `Attractions > Casinos & Gambling`<br>`Shopping > Lotteries and Scratchcards`<br>`Sports > Poker and Professional Gambling`                                                |
| `gambling_games`          | Gambling Games (simulated)      |    yes    |     1 | `gambling`                          | Casino- and gambling-themed video games with no real-money play — social casino, virtual slots, poker-simulation games (`Video Gaming > Video Game Genres > Casino and Gambling Video Games`). Separate from `gambling`, where market and regulators draw the line at real money (see the design doc's market evidence). Blocking buyers who want everything casino-shaped, including real-money casinos the classifier may have stored under this genre, block `gambling` AND `gambling_games`.                                                                                                                                                                                | `Video Gaming > Video Game Genres > Casino and Gambling Video Games`                                                                                                       |
| `piracy`                  | Piracy & Copyright Infringement |    yes    |     1 |                                     | Sites distributing or facilitating unauthorised copies of copyrighted material — torrents, warez, cracks, illegal streaming (`Sensitive Topics > Online Piracy`). IAB v3.1 has no separate peer-to-peer node; legitimate freeware/shareware portals are `software_downloads`.                                                                                                                                                                                                                                                                                                                                                                                                   | `Sensitive Topics > Online Piracy`                                                                                                                                         |
| `drugs`                   | Drugs                           |    yes    |     1 | `alcohol`, `tobacco`                | IAB v3.1's single sensitive-substances node, `Sensitive Topics > Illegal Drugs, Tobacco, eCigarettes, Vaping, Alcohol`: illegal and abused drugs, and tobacco, vaping or alcohol content when the site is about the substance as sensitive content. The taxonomy does not separate the four (nor cannabis/CBD, which most vendors split out), so this group cannot either. Neutral beverage and cigar content is `alcohol` / `tobacco`; pharmaceuticals, addiction treatment and smoking cessation are `health`.                                                                                                                                                                | `Sensitive Topics > Illegal Drugs, Tobacco, eCigarettes, Vaping, Alcohol`                                                                                                  |
| `alcohol`                 | Alcohol                         |    yes    |     1 | `drugs`                             | Consumer alcohol content — beverage brands, breweries, wineries, wine and spirits retail, cocktail content (`Food & Drink > Alcoholic Beverages`). Bars and restaurants are `food_drink`; the sensitive framing of the same substance is `drugs`.                                                                                                                                                                                                                                                                                                                                                                                                                               | `Food & Drink > Alcoholic Beverages`                                                                                                                                       |
| `tobacco`                 | Tobacco                         |    yes    |     1 | `drugs`                             | Cigar and tobacco hobby and retail content (`Hobbies & Interests > Cigars`) — IAB v3.1's only tobacco-specific node. Vaping and e-cigarettes as sensitive content are `drugs`; smoking cessation is `health`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `Hobbies & Interests > Cigars`                                                                                                                                             |
| `weapons`                 | Weapons                         |    yes    |     1 | `hunting_fishing`                   | Firearms, ammunition and weapon sales, reviews or advocacy (`Sensitive Topics > Arms & Ammunition`). Hunting and shooting sports are `hunting_fishing`; the defence industry is `business`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `Sensitive Topics > Arms & Ammunition`                                                                                                                                     |
| `hate`                    | Hate & Discrimination           |    yes    |     1 |                                     | Hate speech, discrimination and acts of aggression against groups by race, ethnicity, religion, nationality, gender, sexual orientation, disability or age (`Sensitive Topics > Hate Speech and Acts of Aggression`).                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Sensitive Topics > Hate Speech and Acts of Aggression`                                                                                                                    |
| `violence`                | Violence & Gore                 |    yes    |     1 |                                     | Graphic violence, death, injury and military conflict presented as sensitive content (`Sensitive Topics > Death, Injury, or Military Conflict`). Crime and disaster as news topics are `current_events`; criminal activity is `illegal_activities`.                                                                                                                                                                                                                                                                                                                                                                                                                             | `Sensitive Topics > Death, Injury, or Military Conflict`                                                                                                                   |
| `illegal_activities`      | Illegal Activities              |    yes    |     1 |                                     | Crime and harmful acts against individuals, society and human rights — instruction in or promotion of criminal activity, exploitation, abuse (`Sensitive Topics > Crime & Harmful Acts to Individuals, Society & Human Right Violations`). Vendors call this Illegal / Criminal Activities.                                                                                                                                                                                                                                                                                                                                                                                     | `Sensitive Topics > Crime & Harmful Acts to Individuals, Society & Human Right Violations`                                                                                 |
| `terrorism`               | Terrorism & Extremism           |    yes    |     1 |                                     | Terrorist and violent-extremist content, recruitment and propaganda (`Sensitive Topics > Terrorism`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Sensitive Topics > Terrorism`                                                                                                                                             |
| `harmful_content`         | Spam & Harmful Content          |    yes    |     1 | `gambling`                          | Spam, scams, deceptive or otherwise harmful content (`Sensitive Topics > Spam or Harmful Content`). Also where our gambling rule filter routes illegal/unlicensed gambling markers (satta/matka, Indonesian judi/slot SEO spam). A CONTENT label, not a threat verdict: IAB v3.1 has no malware, phishing, botnet or anonymizer category; threat intelligence is a separate WhoisXML product.                                                                                                                                                                                                                                                                                   | `Sensitive Topics > Spam or Harmful Content`                                                                                                                               |
| `profanity`               | Profanity & Tasteless           |    yes    |     1 |                                     | Obscene, vulgar, crude or profane content that is not sexual or violent (`Sensitive Topics > Obscenity and Profanity`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `Sensitive Topics > Obscenity and Profanity`                                                                                                                               |
| `social_issues`           | Debated Social Issues           |    yes    |     1 |                                     | Contested social and moral issues — abortion, gun control, immigration, sexuality and gender debates and similar (`Sensitive Topics > Debated Sensitive Social Issues`). Vendors name Abortion / Social Issues here. Mainstream political coverage is `politics`.                                                                                                                                                                                                                                                                                                                                                                                                               | `Sensitive Topics > Debated Sensitive Social Issues`                                                                                                                       |
| `sensitive_other`         | Sensitive (unspecified)         |    yes    |     1 |                                     | A label that stopped at the `Sensitive Topics` tier-1 without naming which sensitive theme applies, and — read first, via `safety_rules` — a theme-unknown `sensitive` brand-safety verdict on a row whose primary label names no more specific sensitive group. Treat as sensitive; the specific group is unknown.                                                                                                                                                                                                                                                                                                                                                             | `Sensitive Topics`                                                                                                                                                         |
| `hunting_fishing`         | Hunting & Fishing               |           |     2 | `weapons`                           | Sport hunting, shooting sports, gun clubs and fishing (`Sports > Hunting and Shooting`, `Sports > Fishing Sports`). Separate from `weapons`, as in Cisco, BrightCloud, Fortinet and Palo Alto; block both to cover everything firearm-related.                                                                                                                                                                                                                                                                                                                                                                                                                                  | `Sports > Fishing Sports`<br>`Sports > Hunting and Shooting`                                                                                                               |
| `dating`                  | Dating                          |           |     1 |                                     | Online dating, personals and matchmaking (`Family and Relationships > Dating`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Family and Relationships > Dating`                                                                                                                                        |
| `social_networking`       | Social Networking               |           |     1 |                                     | Social networks and online communities (`Technology & Computing > Computing > Internet > Social Networking`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `Technology & Computing > Computing > Internet > Social Networking`                                                                                                        |
| `search_engines`          | Search Engines & Portals        |           |     1 |                                     | Web search engines and portals (`Technology & Computing > Computing > Internet > Search`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `Technology & Computing > Computing > Internet > Search`                                                                                                                   |
| `communication`           | Email, Messaging & Conferencing |           |     3 |                                     | Communication services and topics — web email (`… > Internet > Email`), web conferencing and online meetings (`… > Computer Software and Applications > Web Conferencing`) and the `Communication` tier-1 (messaging, telephony, postal services).                                                                                                                                                                                                                                                                                                                                                                                                                              | `Communication`<br>`Technology & Computing > Computing > Computer Software and Applications > Web Conferencing`<br>`Technology & Computing > Computing > Internet > Email` |
| `software_downloads`      | Software Downloads              |           |     1 |                                     | Freeware and shareware download portals (`Technology & Computing > Computing > Computer Software and Applications > Shareware and Freeware`). Pirated software is `piracy`; software as a topic is `technology`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `Technology & Computing > Computing > Computer Software and Applications > Shareware and Freeware`                                                                         |
| `artificial_intelligence` | Artificial Intelligence         |           |     1 |                                     | AI and generative-AI tools, services and topics (`Technology & Computing > Artificial Intelligence`) — the node an enterprise "Generative AI" policy keys on. Robotics, AR and VR stay in `technology`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `Technology & Computing > Artificial Intelligence`                                                                                                                         |
| `technology`              | Technology & Computing          |           |    40 |                                     | Hardware, software, programming, networking, security, cloud, web hosting and consumer electronics — the `Technology & Computing` tree except the nodes split into `social_networking`, `search_engines`, `communication`, `software_downloads` and `artificial_intelligence`. IAB v3.1 has no hacking, proxy/anonymizer, VPN or peer-to-peer node; `Information and Network Security` is defensive security content. Includes `Web Hosting`, where hosting-provider placeholder pages have historically been over-labelled (feed changelog 2026-08-24).                                                                                                                        | `Technology & Computing`                                                                                                                                                   |
| `games`                   | Games                           |           |    26 |                                     | Video games on any platform, esports and non-gambling game genres (`Video Gaming` except the casino and adult genres), plus tabletop, card and role-playing games (`Hobbies & Interests > Games and Puzzles`). No real-money play.                                                                                                                                                                                                                                                                                                                                                                                                                                              | `Hobbies & Interests > Games and Puzzles`<br>`Video Gaming`                                                                                                                |
| `entertainment`           | Entertainment                   |           |    82 |                                     | Movies, music, television and radio (`Entertainment`, `Genres`), celebrity and pop culture (`Pop Culture`), events and conventions (`Events`), and nightclubs (`Attractions > Nightclubs`). IAB v3.1 has no streaming-service node: a streaming platform is labelled by its content.                                                                                                                                                                                                                                                                                                                                                                                            | `Attractions > Nightclubs`<br>`Entertainment`<br>`Events`<br>`Genres`<br>`Pop Culture`                                                                                     |
| `arts_literature`         | Arts & Literature               |           |    14 |                                     | Fine and performing arts (`Fine Art`) and books, comics and poetry (`Books and Literature`). Arts-and-crafts hobbies are `lifestyle`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Books and Literature`<br>`Fine Art`                                                                                                                                       |
| `current_events`          | Current Events                  |           |     3 |                                     | Current-affairs topic roots: `Crime`, `Disasters` and `War and Conflicts` — the three roots policy_v1 published under the misleading id "news", renamed here. IAB v3.1 has no "news publisher" or military node — a general news site is labelled by its dominant topic, most often `politics`. WARNING — this group does NOT contain newspapers, news portals or news publishers, so a policy that allows or blocks `current_events` does NOT allow or block news sites; there is no group that does. The rename is why policy_v2 is a new pack id: a group id never changes meaning inside a pack (design §4.3), so the old id was retired with its pack rather than re-used. | `Crime`<br>`Disasters`<br>`War and Conflicts`                                                                                                                              |
| `politics`                | Politics & Advocacy             |           |     4 |                                     | Politicians, parties, elections, civic affairs, policy and advocacy (`Politics`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `Politics`                                                                                                                                                                 |
| `government_legal`        | Government & Legal              |           |     1 |                                     | Legal topics and services (`Law`). IAB v3.1 has no government-services or military node; civic affairs sit under `Politics` (→ `politics`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `Law`                                                                                                                                                                      |
| `business`                | Business                        |           |    61 |                                     | Companies, industries, B2B services, marketing and advertising, logistics and management (`Business and Finance` except `Economy`). IAB v3.1 has no ad-server/tracker node; the advertising nodes here are about the advertising business.                                                                                                                                                                                                                                                                                                                                                                                                                                      | `Business and Finance`                                                                                                                                                     |
| `finance`                 | Finance                         |           |    41 |                                     | Personal finance, banking, insurance, investing, loans and taxes (`Personal Finance`), and the economy, markets and currencies (`Business and Finance > Economy`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `Business and Finance > Economy`<br>`Personal Finance`                                                                                                                     |
| `careers`                 | Jobs & Careers                  |           |     9 |                                     | Job search, career advice, vocational training and remote work (`Careers`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `Careers`                                                                                                                                                                  |
| `education`               | Education                       |           |    18 |                                     | Schools, universities, online learning, homework and language learning (`Education`). IAB v3.1 has no cheating/plagiarism node.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Education`                                                                                                                                                                |
| `science`                 | Science                         |           |    10 |                                     | Natural sciences, space, geography, environment and weather (`Science`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `Science`                                                                                                                                                                  |
| `health`                  | Health & Medicine               |           |    54 |                                     | Medical conditions, treatments, pharmaceuticals, sexual and reproductive health, mental health, addiction treatment, fitness, nutrition and wellness (`Medical Health`, `Healthy Living`). Sex education lives here (vendor convention), not in `adult`. IAB v3.1 has no self-harm node.                                                                                                                                                                                                                                                                                                                                                                                        | `Healthy Living`<br>`Medical Health`                                                                                                                                       |
| `lifestyle`               | Society & Lifestyle             |           |    66 |                                     | Family and parenting (`Family and Relationships` except `Dating`), hobbies, crafts and collecting (`Hobbies & Interests` except `Cigars`, `Games and Puzzles` and `Paranormal Phenomena`), pets (`Pets`), celebrations (`Personal Celebrations & Life Events`) and holidays (`Holidays`).                                                                                                                                                                                                                                                                                                                                                                                       | `Family and Relationships`<br>`Hobbies & Interests`<br>`Holidays`<br>`Personal Celebrations & Life Events`<br>`Pets`                                                       |
| `food_drink`              | Food & Dining                   |           |    13 |                                     | Cooking, recipes, diets, restaurants and non-alcoholic beverages (`Food & Drink` except `Alcoholic Beverages`; `Attractions > Bars & Restaurants`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `Attractions > Bars & Restaurants`<br>`Food & Drink`                                                                                                                       |
| `travel`                  | Travel & Attractions            |           |    35 |                                     | Travel, hotels, transport and destinations (`Travel`), and visitor attractions — theme parks, museums, parks, zoos, landmarks (`Attractions` except casinos, bars, malls and nightclubs).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `Attractions`<br>`Travel`                                                                                                                                                  |
| `shopping`                | Shopping                        |           |    11 |                                     | Retail, marketplaces, coupons, gifts and groceries (`Shopping` except `Lotteries and Scratchcards`; `Attractions > Malls & Shopping Centers`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | `Attractions > Malls & Shopping Centers`<br>`Shopping`                                                                                                                     |
| `real_estate`             | Real Estate                     |           |    12 |                                     | Property listings, buying, selling and renting (`Real Estate`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Real Estate`                                                                                                                                                              |
| `automotive`              | Vehicles                        |           |    41 |                                     | Cars, motorcycles, parts, repair, buying and selling (`Automotive`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `Automotive`                                                                                                                                                               |
| `sports`                  | Sports                          |           |    66 |                                     | All sports, teams, leagues and equipment (`Sports` except `Poker and Professional Gambling`, `Hunting and Shooting` and `Fishing Sports`), including fantasy sports and horse racing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Sports`                                                                                                                                                                   |
| `fashion_beauty`          | Fashion & Beauty                |           |    44 |                                     | Clothing, accessories, intimates, beauty and personal care (`Style & Fashion`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Style & Fashion`                                                                                                                                                          |
| `home_garden`             | Home & Garden                   |           |    12 |                                     | Home improvement, décor, gardening, appliances and smart home (`Home & Garden`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `Home & Garden`                                                                                                                                                            |
| `religion`                | Religion                        |           |    10 |                                     | Religions, spirituality, atheism and agnosticism (`Religion & Spirituality` except `Astrology`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `Religion & Spirituality`                                                                                                                                                  |
| `cults_occult`            | Cults, Occult & Astrology       |           |     2 |                                     | Astrology and horoscopes (`Religion & Spirituality > Astrology`) and paranormal phenomena (`Hobbies & Interests > Paranormal Phenomena`) — the closest IAB v3.1 comes to vendors' Cult & Occult / Alternative Beliefs category. IAB has no cult or satanism node.                                                                                                                                                                                                                                                                                                                                                                                                               | `Hobbies & Interests > Paranormal Phenomena`<br>`Religion & Spirituality > Astrology`                                                                                      |

## Open mapping decisions

These are recorded so a change is a visible version bump, never a silent drift:

1. **Gambling scope — decided 2026-09-03 (Option C, inherited from `policy_v1` 2026.09.2).** The
   three real-money nodes (`Attractions > Casinos & Gambling`, `Shopping > Lotteries and
Scratchcards`, `Sports > Poker and Professional Gambling`) project to `gambling`;
   `Video Gaming > Video Game Genres > Casino and Gambling Video Games` (simulated gambling, no
   real-money play) projects to the separate `gambling_games` group. Block **both** groups to
   block everything casino-shaped. The gambling detector's `harmful_gambling` theme
   (illegal/unlicensed markers) projects to `harmful_content`, not `gambling` — block all three
   to block everything gambling-shaped. The pack encodes this as `gambling`'s `block_with`
   union ([Block-with unions](#block-with-unions)), as it does the substances and weapons
   unions below.
2. **Substances.** IAB's single node `Illegal Drugs, Tobacco, eCigarettes, Vaping, Alcohol`
   cannot be split, so `drugs` covers all four substances when framed as sensitive content;
   neutral beverage content is `alcohol`, cigar content is `tobacco`.
3. **News — resolved by this pack.** The current-affairs roots are `current_events`. There is
   still no news-publisher group, because IAB v3.1 has no such node; a general news site is
   labelled by its dominant topic, most often `politics`.
4. **Theme-aware sensitive detection.** `sensitive_other` keeps every theme-unknown `sensitive`
   verdict whose primary label names no theme. Splitting it needs a detector that reports the
   theme; when one ships, its themes join `safety_rules` in a new mapping version.

## Changelog

- **2026.09.1** (2026-09-09) — First release of the `policy_v2` id.
  `previous_version: null`; nothing has moved _inside_ this pack.
  - **Lineage** (`previous_pack`): branched from `policy_v1` **2026.09.2**.
    `moved`: `Crime`, `Disasters`, `War and Conflicts` — each from `news` to `current_events`.
    `added_groups`: `current_events`. `retired_groups`: `news`. No other path changed group.
  - Adds the `safety_rules` table (`adult` → `adult`, `gambling` → `gambling`,
    `harmful_gambling` → `harmful_content`, `sensitive` → `sensitive_other`, `vendor` → no
    group) and the safety-first projection with the `basis` values `safety` / `site_purpose` /
    `primary` (`role` reserved).
  - Declares the three `block_with` unions (`gambling` ↔ `gambling_games`, `harmful_content`;
    `drugs` ↔ `alcohol`, `tobacco`; `weapons` ↔ `hunting_fishing`), served on
    `/api/v4/taxonomy?pack=policy_v2` as `pack.groups`. Added to this first version before its
    first publication — no feed artifact and no deployed API image carried 2026.09.1 without
    them — so they ride the version unbumped; a later union change bumps it.
  - **What it moves, in rows.** Every row `policy_v1` published as `news` reads
    `current_events`; on the feed, every flagged row whose primary label is not already in a
    different sensitive group reads its theme's group with `basis = safety`. The API serves the
    pack (primary-label projection) on `?pack=policy_v2` from the image that carries it (see the
    API changelog; an earlier image answers `422` for the id); the feed with
    the first full snapshot exported under schema 1.14.0 (a pack change never rides a delta) —
    see the feed changelog for the dates.
