Chapter navigation
MSPA US National (§7)
opt-outRole & classification
Multi-State Privacy Agreement (MSPA) US National is the payload of Global Privacy Platform (GPP) §7, apiPrefix usnat. The consumer-facing Notice / Opt-Out scalar fields use Int(2) three-valued semantics (0=Not applicable / 1=Yes / 2=No, not booleans); SensitiveDataProcessing is a 2-bit three-valued array (category count per the official spec). The three Int(2) mode fields (MspaCoveredTransaction / MspaOptOutOptionMode / MspaServiceProviderMode) describe a party's contracting status, a different dimension from the consumer-facing ones; the Interactive Advertising Bureau (IAB) Tech Lab's 2026 update plans to remove the latter two.
- GPP section
- §7 (usnat)
- Carriage
- 0=NA / 1=Yes / 2=No (2-bit)
String & field layout
The usnat segment opens with Version (6 bits, value 1), followed by a series of 2-bit three-valued integer fields. The three-valued encoding is uniform: 0 = Not applicable / 1 = Yes (opted out, or notice given) / 2 = No. The Global Privacy Control (GPC) fields ride in a Reusable Subsection marked by GpcSegmentType (2 bits, value 1).
| Field | Bits | Values | Meaning |
|---|---|---|---|
| Version | 6 bit int | =1 | privacy string version |
| SharingNotice | 2 bit int | 0/1/2 | whether notice about 'sharing' was provided |
| SaleOptOutNotice | 2 bit int | 0/1/2 | whether notice about the right to opt out of 'sale' was provided |
| TargetedAdvertisingOptOutNotice | 2 bit int | 0/1/2 | whether notice about the right to opt out of targeted advertising was provided |
| SaleOptOut | 2 bit int | 0/1/2 | whether the user opted out of 'sale' |
| SharingOptOut | 2 bit int | 0/1/2 | whether the user opted out of 'sharing' |
| TargetedAdvertisingOptOut | 2 bit int | 0/1/2 | whether the user opted out of targeted advertising |
| SensitiveDataProcessing | 2 bit int array | 0/1/2 each | per-category sensitive-data processing choices (category count per the official spec) |
| KnownChildSensitiveDataConsents | 2 bit int | 0/1/2 | consents for known-child sensitive data |
| MspaCoveredTransaction | 2 bit int | 0/1/2 | whether this transaction is MSPA-covered |
| MspaOptOutOptionMode | 2 bit int | 0/1/2 | opt-out option mode (IAB plans to remove from 2026) |
| MspaServiceProviderMode | 2 bit int | 0/1/2 | service-provider mode (IAB plans to remove from 2026) |
Carriage & access
The three-valued semantics (0=Not applicable / 1=Yes / 2=No) is the encoding convention shared by the MSPA-family sections (usnat and the per-state ones): it packs 'law not applicable' / 'right exercised or notice given' / 'not exercised' into 2 bits, unlike USPrivacy's single-character Y/N/-.
Version deltas
The standalone us_national string (not a GPP section) has been deprecated by the IAB in favour of GPP carriage; IAB Tech Lab's 2026 privacy-standards update further removes MSPA's state-by-state approach and the Service Provider / Opt-Out Option Modes, so the field set will converge. The GPC subsection matches the gpc chapter's Reusable Subsection (a GpcSegmentIncluded boolean plus a Gpc boolean).
Invalid forms
- A three-valued field taking a value outside 0/1/2 (2 bits allow 0–3; 3 is reserved)
- Version not equal to 1
- Misreading usnat's three-valued 0/1/2 as USPrivacy's characters Y/N/-