DIN 0815 · STANDARD SOFTWARE REV 2026.04 ● LIVE

One place for the files modules produce — invoice PDFs, product images, report exports, uploaded documents — instead of each writing to its own disk and reinventing checksums, metadata and links. Objects are addressed by bucket and key, and every one carries its size and SHA-256 alongside a content type and free-form metadata. A module can mint a short-lived HMAC-signed URL and hand it straight to a browser: it serves the bytes without a session, always as an attachment under a sandbox CSP, and a tampered or expired link is refused. Bytes live in SQLite as BLOBs by default, so there is nothing else to run.

STATUS Available
DEFAULT PORT 4006
LICENSE MIT · always free
REPOSITORY VIEW SOURCE ↗

Responsibilities

  • Buckets and objects addressed by bucket + key, with free-form metadata
  • Content addressing — SHA-256 and size recorded for every object
  • Short-lived HMAC-signed download URLs that need no session
  • Downloads always served as attachments, so stored bytes cannot execute
  • Object bytes in SQLite by default; an S3-compatible backend behind the same API

API surface

  • PUT /api/objects/:bucket/:key · GET /api/objects/:bucket/:key
  • GET /api/objects/:bucket/:key/meta
  • POST /api/objects/:bucket/:key/sign
  • GET /api/download?bucket=&key=&expires=&sig=
  • GET/POST /api/buckets · DELETE /api/objects/:bucket/:key

CONSUMED BY Any module that produces or stores a file. A Platform Service never depends on a Business Module.