{
  "product": "Specification (reference)",
  "title": "Object Storage",
  "summary": "Buckets and objects with the consistency and lifecycle rules stated.",
  "category": "infra",
  "entries": [
    {
      "path": [
        "AI",
        "Objects",
        "Put, get, delete and head an object"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Objects",
        "Keys are opaque strings; prefixes emulate folders"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Objects",
        "User metadata and content-type stored with the object"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Objects",
        "Range reads"
      ],
      "value": "",
      "status": "yes",
      "note": "partial content"
    },
    {
      "path": [
        "AI",
        "Upload",
        "Multipart upload for large objects"
      ],
      "value": "",
      "status": "yes",
      "note": "with abort and resume"
    },
    {
      "path": [
        "AI",
        "Upload",
        "Checksum verification on write"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Listing",
        "List by prefix with delimiter and pagination"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Listing",
        "Listing is not a directory tree"
      ],
      "value": "",
      "status": "yes",
      "note": "documented, so callers do not assume one"
    },
    {
      "path": [
        "AI",
        "Consistency",
        "Read-after-write consistency stated"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Versioning",
        "Object versions with delete markers"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Lifecycle",
        "Expiry and storage-class transition rules"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Access",
        "Signed URLs with expiry for read and write"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Access",
        "Bucket and object-level policies"
      ],
      "value": "",
      "status": "yes",
      "note": "private by default"
    },
    {
      "path": [
        "AI",
        "Security",
        "Encryption at rest and in transit"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Durability",
        "Replication and stated durability target"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Events",
        "Notifications on object created and deleted"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Operations",
        "Usage and request metrics per bucket"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    }
  ]
}
