{
  "id": "ipv6",
  "kind": "datatype",
  "status": "stable",
  "name": "IPv6 address",
  "doc": "128-bit address of Internet Protocol version 6, written as eight groups of up to four hexadecimal digits separated by colons (RFC 4291, section 2.2). One run of zero groups may be shortened to ::, and the last 32 bits may be written as an IPv4 address, as in ::ffff:192.0.2.128. RFC 5952 recommends lowercase and the shortest form, but data also holds full and uppercase forms, and the regexp accepts all of them. It does not accept a zone index (fe80::1%eth0) or a prefix length. 2001:db8::/32 is reserved for documentation (RFC 3849).",
  "parent": "ipaddr",
  "is_pii": true,
  "categories": [
    "internet",
    "pii"
  ],
  "langs": [
    "common"
  ],
  "classification": "identifier",
  "regexp": "^(?:(?:[0-9A-Fa-f]{1,4}:){6}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|::(?:[0-9A-Fa-f]{1,4}:){5}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)$",
  "examples": [
    {
      "value": "2001:db8::1",
      "description": "Shortest form, documentation prefix (RFC 3849)",
      "valid": true
    },
    {
      "value": "2001:0db8:0000:0000:0000:ff00:0042:8329",
      "description": "Full form with leading zeros",
      "valid": true
    },
    {
      "value": "::ffff:192.0.2.128",
      "description": "IPv4-mapped address",
      "valid": true
    },
    {
      "value": "::1",
      "description": "Loopback address",
      "valid": true
    },
    {
      "value": "2001:db8::1::2",
      "description": ":: used twice",
      "valid": false
    },
    {
      "value": "2001:db8:0:0:0:0:0:0:1",
      "description": "Nine groups",
      "valid": false
    },
    {
      "value": "2001:db8::/32",
      "description": "A prefix, not an address",
      "valid": false
    }
  ],
  "mappings": {
    "autotype": "ipv6",
    "cdm": "means.identity.IP6Address",
    "dpv": "pd:IPAddress",
    "fta": "IPADDRESS.IPV6",
    "purview": "IP Address v6"
  },
  "links": [
    {
      "type": "wikipedia",
      "url": "https://en.wikipedia.org/wiki/IPv6_address"
    },
    {
      "type": "doc",
      "url": "https://www.rfc-editor.org/rfc/rfc4291#section-2.2"
    },
    {
      "type": "doc",
      "url": "https://www.rfc-editor.org/rfc/rfc5952"
    }
  ],
  "translations": {
    "ru": {
      "name": "IPv6-адрес",
      "doc": "128-битный адрес протокола IPv6: восемь групп шестнадцатеричных цифр через двоеточие, допускается сокращение ::."
    }
  },
  "detected_by": {
    "tools": [
      "autotype",
      "datahub",
      "dataiku",
      "dataprep",
      "dataprofiler",
      "fta",
      "greatexpectations",
      "ibmknowledgecatalog",
      "metacrafter",
      "metacrafterpro",
      "metadata-guardian",
      "microsoftpurview",
      "soda",
      "sqldatacatalog",
      "talend"
    ],
    "metacrafter_rules": [
      {
        "rule": "ipv6",
        "type": "data",
        "match": "ppr",
        "file": "ext/ext_internet.yaml"
      }
    ]
  },
  "quality": {
    "score": 100,
    "missing": []
  },
  "source": {
    "path": "data/datatypes/any/internet/ipv6.yaml",
    "url": "https://github.com/apicrafter/metacrafter-registry/blob/main/data/datatypes/any/internet/ipv6.yaml",
    "edit_url": "https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/internet/ipv6.yaml"
  },
  "urls": {
    "html": "http://registry.apicrafter.io/datatype/ipv6",
    "json": "http://registry.apicrafter.io/api/v1/datatypes/ipv6.json"
  }
}