{
  "slug": "host-protected-area",
  "term": "Host Protected Area (HPA)",
  "aliases": [
    "HPA",
    "Host-Protected Area"
  ],
  "definition": "A Host Protected Area is a region excluded from ordinary host reads and writes by an optional legacy ATA feature that lowers the device's maximum user-accessible address.",
  "note": "HPA changes the address limit reported to the host, not the partition table. The ATA/ATAPI-6 working draft describes reserving upper addresses for system data; it is historical evidence, not a current approved standard. [ata6-draft]\n\nThis logical access restriction is distinct from SSD spare NAND and remapped pages. Removing it is not a sanitization operation. Accessible Max Address Configuration (AMAC) is a separate feature set. An HPA erase rule does not establish normal-mode ATA Security Erase coverage with AMAC. [seagate-erase-scope] [seagate-ata-security-2026]\n\nIn the ATA/ATAPI-6 draft, the SET MAX security extension uses a password separate from Security Mode. An accepted SET MAX FREEZE LOCK blocks subsequent SET MAX commands, including SET MAX UNLOCK, until a power cycle. It does not make accessible user data read-only or certify erased data. [ata6-draft]",
  "status": "unknown",
  "advantages": [],
  "limitations": [
    {
      "text": "A whole-device host overwrite still cannot address a region excluded by the active HPA limit.",
      "citationIds": [
        "ata6-draft"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-24",
  "related": [
    "device-configuration-overlay",
    "sata",
    "data-sanitization",
    "secure-erase",
    "accessible-max-address-configuration"
  ],
  "citations": [
    {
      "id": "ata6-draft",
      "title": "T13 ATA/ATAPI-6 working draft 1410D revision 3a (2001), sections 6.15 and 6.21; historical draft, not an approved standard",
      "url": "https://www.read.seas.harvard.edu/~kohler/class/04f-aos/ref/hardware/ATA-d1410r3a.pdf",
      "accessed": "2026-10-24"
    },
    {
      "id": "seagate-erase-scope",
      "title": "Seagate openSeaChest maintainer clarification (7 January 2021), discussion 52: HPA/DCO versus AMAC erase scope",
      "url": "https://github.com/Seagate/openSeaChest/discussions/52",
      "accessed": "2026-10-24"
    },
    {
      "id": "hesela",
      "title": "Hesela: SSD sanitization: why TRIM and a successful command are not enough",
      "url": "https://hesela.com/analyses/ssd-sanitization-trim-evidence/",
      "accessed": "2026-10-24"
    },
    {
      "id": "seagate-ata-security-2026",
      "title": "Seagate openSeaChest ATA Security Feature guide (last edited 11 February 2026), Security Erase",
      "url": "https://github.com/Seagate/openSeaChest/wiki/ATA-Security-Feature#security-erase",
      "accessed": "2026-10-24"
    }
  ],
  "provenance": [
    "The 2021 clarification and 2026 guide disagree on normal-mode ATA Security Erase coverage with AMAC; this conflict remains unresolved. Use the applicable command-set revision and model/firmware evidence. [seagate-erase-scope] [seagate-ata-security-2026]"
  ]
}
