{
  "slug": "pi-application-tag",
  "term": "PI application tag",
  "aliases": [
    "Protection-information application tag"
  ],
  "definition": "A protection-information application tag is an opaque field used for configured comparisons and protocol-defined checking escapes.",
  "note": "Linux v6.12's eight-byte t10_pi_tuple assigns 16 bits to this field and describes it as opaque storage. It is separate from the checksum and address fields. [linux-format]\n\nIn NVM Command Set 1.0e, zero mask bits exclude corresponding application-tag bits from comparison. A protocol-defined escape can instead disable all PI checks. Masking and escaping are different mechanisms. [nvm-fields]\n\nHesela inference: an application tag is not inherently an application identifier or a committed-generation counter. Any such interpretation needs an explicit producer/consumer contract. Automatic metadata generation below an application also limits what an end-to-end claim establishes. [linux-boundary]",
  "related": [
    "protection-information",
    "pi-guard-tag",
    "pi-reference-tag",
    "io-uring-integrity-metadata"
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "linux-format",
      "title": "Linux v6.12: T10 PI tuple and protection-type comments (GPL-2.0)",
      "url": "https://github.com/torvalds/linux/blob/adc218676eef25575469234709c2d87185ca223a/include/linux/t10-pi.h",
      "accessed": "2026-11-05"
    },
    {
      "id": "nvm-fields",
      "title": "NVM Express NVM Command Set Specification 1.0e, sections 5.2.1 and 5.2.3, pp. 78-84 and 94-95; copyright 2008 to 2024 NVM Express, Inc. ALL RIGHTS RESERVED.",
      "url": "https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-1.0e-2024.07.29-Ratified.pdf",
      "accessed": "2026-11-05"
    },
    {
      "id": "linux-boundary",
      "title": "Linux v6.12 Data Integrity documentation, sections 2 and 3 (historical design context)",
      "url": "https://docs.kernel.org/6.12/block/data-integrity.html",
      "accessed": "2026-11-05"
    }
  ],
  "updated": "2026-11-05",
  "provenance": [
    "Source synthesis scoped to Linux v6.12 and NVM Command Set 1.0e; not a device test, support matrix or extension of the existing CRC experiment."
  ]
}
