Receipt Object Storage
Component Detail
Infrastructure
medium complexity
backend
0
Dependencies
2
Dependents
0
Entities
0
Integrations
Description
S3-compatible object storage bucket that holds uploaded receipt image files. Objects are stored with a deterministic key scheme (e.g. org/{org_id}/receipts/{receipt_id}.jpg) and are private by default. Access is mediated exclusively via presigned URLs generated server-side.
receipt-object-storage
Responsibilities
- Store compressed receipt image objects durably
- Enforce private-by-default bucket policy (no public read)
- Support multipart object PUT from the backend upload endpoint
- Support presigned GET URL generation for secure retrieval
- Support object deletion when a receipt is removed
Interfaces
putObject(key: String, body: Bytes, contentType: String) -> void
generatePresignedGetUrl(key: String, expiresInSeconds: int) -> String
deleteObject(key: String) -> void
headObject(key: String) -> ObjectMetadata
Relationships
Dependents (2)
Components that depend on this component