Metadata-Version: 2.4
Name: umarise-s3
Version: 0.2.1
Summary: Anchor every S3 upload to Bitcoin. Works with any S3-compatible backend.
Author-email: Umarise <partners@umarise.com>
License: Unlicense
Project-URL: Homepage, https://umarise.com
Project-URL: Documentation, https://umarise.com/api-reference
Project-URL: Repository, https://github.com/AnchoringTrust/umarise-s3
Keywords: umarise,s3,akave,anchoring,bitcoin,proof-of-existence
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Security :: Cryptography
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: umarise-core-sdk>=1.1.0
Requires-Dist: boto3>=1.20

# umarise-s3

Anchor every S3 upload to Bitcoin. Works with any S3-compatible backend.

```
pip install umarise-s3
```

## Quick start

```python
from umarise_s3 import AnchoredS3Client

# Works with Akave, AWS S3, MinIO, GCS, etc.
s3 = AnchoredS3Client(
    endpoint_url="https://o3.akave.xyz",  # or any S3-compatible endpoint
    aws_access_key_id="your_key",
    aws_secret_access_key="your_secret",
)

# Every upload is automatically anchored
s3.upload_file("model.pt", "my-bucket", "models/model.pt")
s3.put_object(Bucket="my-bucket", Key="data.csv", Body=open("data.csv", "rb").read())
```

## What happens

1. File is uploaded to your S3 backend (unchanged)
2. SHA-256 hash is computed locally (bytes never leave your machine)
3. Hash is submitted to Umarise Core API
4. `origin_id` is stored as S3 object metadata (`x-amz-meta-umarise-origin-id`)
5. Within ~12 hours, proof is confirmed on the Bitcoin blockchain

## S3 metadata written

| Metadata key | Value |
|---|---|
| `umarise-origin-id` | UUID |
| `umarise-proof-status` | `pending` or `anchored` |
| `umarise-hash` | SHA-256 hex |

## Environment

```bash
export UMARISE_API_KEY=um_your_key
```

Or pass `api_key=` to `AnchoredS3Client()`.

## Compatible backends

- [Akave Cloud](https://akave.com) (S3-compatible, decentralized)
- AWS S3
- MinIO
- Google Cloud Storage (S3-compatible mode)
- Any S3-compatible endpoint

## Verify independently

The proof is yours. Verify without Umarise:
- [verify-anchoring.org](https://verify-anchoring.org)
- `ots verify proof.ots`

## License

[Unlicense](https://unlicense.org/) — Public Domain
