Storage
Alpha
DSAR is currently in alpha. APIs, package surfaces, configuration, and documentation may change as the project evolves.
DSAR uses storage adapters to persist fulfilment artifacts — the files, documents, and data packages assembled during request processing. Each adapter implements the same StorageAdapterContract, so you can swap providers without changing application code.
Available Adapters
| Adapter | Package | Best For |
|---|---|---|
| S3 | @dsar/storage-s3 | Production deployments with AWS, MinIO, R2, or any S3-compatible provider |
| Filesystem | @dsar/storage-filesystem | Local development and single-server deployments |
| Vercel Blob | @dsar/storage-vercel-blob | Zero-infrastructure deployments on Vercel |
How Storage Works
When a DSAR request reaches the fulfilment stage, the runtime assembles artifacts into a manifest and stores them through the configured adapter. Each artifact gets a deterministic key:
All adapters preserve manifest-linked metadata on artifact references:
requestId— the originating DSAR requestmanifestId— the delivery manifest grouping artifactsmanifestHash— integrity hash of the manifestmanifestSignature— cryptographic signature when available
Choosing an Adapter
- Starting out? Use
storage-filesystemfor local development and testing. - Deploying to Vercel? Use
storage-vercel-blobfor managed storage with zero setup. - Production at scale? Use
storage-s3with your preferred S3-compatible provider.
Stub Mode
During development, you can skip storage configuration entirely:
Stub mode accepts all storage operations without persisting data.