File Upload & Scanning Pipeline  ·  View 09 of 21  ·  Structure

Interface Catalogue

Four contracts in, three out, and the one that carries bytes without touching the platform.

Editable source SVG draw.io All views
Inbound Upload control API initiate · chunks? · finalise Direct chunk write client to Blob, SAS Download credential API state re-checked per call Policy & quarantine API tenant security admin File Upload & Scanning Pipeline Upload & scanning platform control in, bytes around Outbound Verdict & state events available · blocked · revoked Detections & audit immutable, 7 years Signature & engine feed pulled, staleness published OAuth 2.0 bytes, not via us per call role-gated Event Grid stream hourly Interface Catalogue — Four Contracts In, Three Out Application we own synchronous event / async batch There are only two ways in for a client: a control call that returns a credential, and a byte write that uses one. Everything else is administration or a subscription. v 1.0 · contracts 4 in, 3 out

Decisions

  • There are exactly two ways in for a client: a control call that returns a credential, and a byte write that uses one — everything else is administration or a subscription
  • The byte-write contract is with the object store, not with this platform: the platform's obligation is the credential's scope and lifetime, and nothing about the transfer itself
  • Verdict events are the integration surface for every downstream consumer, so a product surface learns an attachment became available without polling

Interface rules

  • Every inbound call is authenticated as a workload or end-user identity and authorised against the destination scope; there is no unauthenticated path that yields a credential
  • The signature feed is pulled, never pushed, and its staleness is published — an object scanned under a set older than the declared age is marked for re-scan rather than trusted
  • Audit and detections leave as an append-only stream, retained 7 years, and never as a mutable report

Deliberately omitted

  • A streaming upload gateway — the alternative in Question 1, kept off this catalogue as a consequence of the direct-to-store decision
  • Key operations and identity, which are dependencies rather than contracts this platform publishes