Storage that speaks the AWS S3 API — interchangeable with S3 at the protocol level.
S3-compatible describes object storage that implements the AWS S3 API, so tools written for S3 can read and write it without code changes.
When Amazon launched S3 in 2006, the HTTP API it defined — PUT, GET, LIST, multipart upload, presigned URLs, bucket policies — became the de facto standard for object storage. A wide ecosystem of providers now offers storage that accepts the same requests and returns the same responses, alongside open-source implementations like MinIO that you can run on your own hardware. You point a client at a different endpoint URL, hand it an access key and secret, and the same code that reads and writes AWS S3 buckets reads and writes theirs.
Compatibility is rarely 100%. Providers implement the core object operations faithfully but differ on bucket policies, the exact shape of event notifications, support for newer features like Object Lock, and edge-case ACL semantics. For a backup repository, the core subset is what matters, and the core subset is broadly portable.
In macup, the BYO-storage destination option accepts any S3-compatible provider. Paste an endpoint, bucket, region, and API key, and macup will create a repository there the same way it does on macup Cloud — same encryption, same snapshot format, same restore flow. Your data, your account, your bill.