Storage module

One file API, every cloud.

Upload, download, encrypt and convert files across S3, Azure Blob, GCS, Google Drive and OneDrive through one configurable interface. AES-at-rest with per-project keys — and Excel and CSV decode to JSON on the way in.

Pick your cloud: AWS S3Azure Blob GCSDrive
UPLOAD AES-256 AWS S3 Azure OneDrive Drive GCS DISTRIBUTE TO ANY CLOUD
Why eru-files

Move clouds, not code.

Every cloud's storage SDK is just different enough to be annoying — different auth, different error semantics, different conventions. eru-files wraps S3, Azure Blob, GCS, Google Drive and OneDrive in one API: same upload, same download, same encryption story.

Pivot from AWS to Azure with a JSON config, not a sprint. AES-at-rest is transparent on both ends, MIME sniffing keeps uploads honest, and Excel, CSV and ZIP decode without a separate service.

5
storage backends
AES
at-rest encryption
3
format decoders
1
unified API
Core features

Files done once, access everywhere

Five storage backends

AWS S3, Azure Blob, GCS, Google Drive and OneDrive — one API, one set of error semantics.

AES-at-rest encryption

Per-project AES keys. Transparent on upload and download — never written into application code.

Excel → JSON

Upload a workbook, get back rows of JSON — with header-row detection and type inference.

,

CSV → JSON

Auto-detected headers, parsed types, ready for queries. No preprocessing service needed.

📦

ZIP extraction

Upload an archive, fetch a single file or list its contents — without unpacking client-side.

MIME sniffing

Type detection prevents masquerading uploads. Per-MIME size limits enforce your policy.

Batch uploads

Multi-file upload and download with folder-templated paths and configurable concurrency.

UUID-named files

Collision-free naming with document ID tracking per project and storage backend.

🔑

IAM & service principals

AWS IAM roles, Azure managed identity, GCP service accounts — credentials managed for you.

Architecture

The same call, any backend

One upload flows through the files API, gets AES-encrypted, hits a storage driver and lands in your cloud of choice — the same call whether it's S3 or OneDrive.

Client upload / download Files API MIME · UUID AES encrypt per-project key Storage driver interface + factory Cloud backend stored object AWS S3 Azure Blob GCS Google Drive OneDrive
Backends & encryption

Pick your cloud

AWS S3 Azure Blob Google Cloud Storage Google Drive Microsoft OneDrive AES-256 at rest RSA-managed keys
Configure, don't code

A storage backend in JSON

No SDK lock-in. Swap clouds, buckets, encryption or MIME policy by editing config.

eru-files/storage.json
// AWS S3 object storage — configured through eru-files
{
  "storage_type": "AWS",
  "storage_name": "user-uploads",
  "encrypt_files": true,
  "region": "ap-south-1",
  "bucket_name": "eru-prod-user-uploads",
  "authentication": "iam-role"
}
Explore the platform

Pair eru-files with the rest