Attesto

Connectors

Production connectors

Connectors committen externe source evidence naar Proofstream zonder tenant sessions bloot te stellen. Elke connector heeft echte authentication, replay handling, diagnostics en revoke behavior.

Connector model

Een connector is een source-to-evidence adapter. De connector observeert iets in een echt source system, valideert dat de source mag spreken, normaliseert de observation en schrijft een Proofstream event met een stabiele source reference. Kies connectors wanneer evidence buiten je applicatiecode ontstaat of wanneer een source system zijn eigen identiteit in het evidence trail moet behouden.

  1. Authenticeer de source delivery of provider API.
  2. Normaliseer de source reference en event type.
  3. Verwerp replay conflicts voor dezelfde source reference.
  4. Schrijf het event naar de geconfigureerde stream.
  5. Retourneer of bewaar de Attesto receipt.
  6. Toon diagnostics zonder provider secrets of raw private payloads te lekken.
ConnectorfamilieTenant management routeIngress routeNotities
Signed webhookGET/POST /v2/tenant/connectors/signed-webhooks, DELETE /v2/tenant/connectors/signed-webhooks/{connector_id}POST /v2/connectors/signed-webhooks/{connector_id}/eventsCreatie kan het connector secret één keer tonen. Bewaar het alleen server-side.
GitHub/GitLab repository webhookGET/POST /v2/tenant/connectors/repository-webhooks, DELETE /v2/tenant/connectors/repository-webhooks/{connector_id}POST /v2/connectors/repository-webhooks/{connector_id}/eventsProvider delivery signatures worden gevalideerd voordat genormaliseerde repository evidence wordt geschreven.
S3/R2 object commitmentGET/POST /v2/tenant/connectors/s3-objects, DELETE /v2/tenant/connectors/s3-objects/{connector_id}POST /v2/tenant/connectors/s3-objects/{connector_id}/commitGebruikt tenant session om objectmetadata en integrity evidence vast te leggen; object bytes blijven in de bronstore.

Elk connector event moet source system id, source object id, source event type, source timestamp met timezone of UTC-offset, connector received time, idempotency/source reference en normalized payload commitment bewaren. Als een provider geen timezone-aware source timestamp kan leveren, moet de connector validatie falen in plaats van er een te verzinnen.

Signed webhook connector

Gebruik de signed webhook connector wanneer een externe source een signed JSON body naar Attesto kan POSTen. De source reference is de idempotency key binnen de stream. Het dashboard maakt en revoket connector records via /v2/tenant/connectors/signed-webhooks; het bronsysteem stuurt events alleen naar het publieke connector ingress endpoint.

POST /v2/connectors/signed-webhooks/{connectorId}/events
Content-Type: application/json
X-Attesto-Connector-Timestamp: <unix-seconds>
X-Attesto-Connector-Signature: <hex-hmac-sha256>
{
  "source_ref": "source-system-2026-0001",
  "event_type": "source.observation",
  "occurred_at": "2026-06-07T12:00:00Z",
  "payload": {
    "control": "policy-check",
    "result": "passed",
    "policy_id": "policy-2026-01"
  }
}

GitHub repository connector

De GitHub connector valideert X-Hub-Signature-256 over de raw provider body en commit genormaliseerde repository-change metadata naar de geconfigureerde Proofstream.

{
  "provider": "github",
  "event": "push",
  "repository": "owner/repository",
  "ref": "refs/heads/main",
  "before": "sha-before",
  "after": "sha-after",
  "delivery_id": "provider-delivery-id"
}

GitLab repository connector

De GitLab connector valideert de geconfigureerde signing token over de raw provider delivery. Bestaande installations kunnen hun legacy token mode behouden tot rotatie.

{
  "provider": "gitlab",
  "event": "push",
  "project_path": "group/project",
  "ref": "refs/heads/main",
  "before": "sha-before",
  "after": "sha-after",
  "delivery_id": "provider-delivery-id"
}

S3/R2 object commitment connector

Gebruik object commitments wanneer evidence al in AWS S3, Cloudflare R2 of een S3-compatible store staat. Attesto voert een echte HeadObject call uit, receiptt object identity en integrity metadata, en proxyt geen object content.

POST /v2/tenant/connectors/s3-objects/{connectorId}/commit
Content-Type: application/json

{
  "key": "evidence/input.json",
  "versionId": "$OBJECT_VERSION_ID",
  "metadata": {
    "source": "case-file"
  }
}

Object commitments mogen alleen metadata bevatten die veilig is om als evidence op te slaan. Object content blijft in de customer object store. Gebruik read-only credentials beperkt tot de vereiste bucket prefix, en commit versioned object metadata wanneer de store object versions ondersteunt.

Marketplace distribution

Gevalideerde first-party connector manifests zijn beschikbaar via https://marketplace.attesto.eu. Publieke bezoekers kunnen de catalogus bekijken. Een manifest downloaden, een entitlement verkrijgen of een installation maken vereist een Attesto tenant session. De marketplace en connector kits gebruiken dezelfde attesto.connector.v2 manifest validation rules.

De eerste gratis Attesto first-party listings zijn Signed Webhook Evidence, GitHub Repository Evidence, GitLab Repository Evidence en S3/R2 Object Commitment. Elke listing koppelt het marketplace-validatieresultaat aan een connector-assurance canary guarantee, zodat Evidence Score en Verified badges reproduceerbare release evidence zijn in plaats van marketinglabels.

Connector diagnostics

Tenant-visible diagnostics tonen of een connector enabled, recent gebruikt, failing auth, failing replay checks of revoked is. Ze tonen geen connector credentials, raw provider payloads of private object content.

StatusBetekenis
healthyRecente signed delivery of source check is geslaagd.
auth_failedProvider- of HMAC-signature kon niet worden geverifieerd.
replay_conflictDezelfde source reference werd opnieuw aangeboden met andere content.
revokedIngress is disabled en moet fail-closed werken.

Safety boundaries