Every connector is labeled. Even the ones we just shipped.
Evidence reaches one vault four ways: push from CI or the API, pull from GitHub, Jira, ServiceNow or Microsoft 365, watch through the open-source collector, capture through the runtime agent.
Underneath all four: one open evidence-pack schema — e-ari-evidence-pack/1 — and the same integrity rules for every byte.
The matrix
Four methods, one convention. The status column is a commitment, not marketing.
The honesty convention, stated plainly:
A connector that has never talked to a real tenant is labeled experimental until a customer's tenant validates it — never silently promoted.
| Source | Method | Status | Integrity |
|---|---|---|---|
Ingestion API From any CI step, cron job or curl — single artifacts or evidence packs | Push | Supported | SHA-256 recomputed server-side from the received bytes; content-addressed dedupe; sealable into the public transparency log. |
GitHub Repository contents through the documented REST API | Pull | Supported | The same ingestion core as push; every artifact carries a sourceRef naming the repo, commit and path. |
Jira Issues and attachments through the REST API | Pull | Experimental | Mock-tested only — no real tenant has validated it yet; the same ingestion core waits underneath. |
ServiceNow Table API records, with basic auth or OAuth | Pull | Experimental | Every instance is shaped by its tenant — experimental until a customer-configured instance validates it. |
Microsoft 365 SharePoint and OneDrive files through Graph | Pull | Experimental | Smoke-tested against a mock of the Graph API; admin-consent validation in a real tenant is pending. |
Drop folders SFTP drops, S3 sync, shared drives — scheduled exports the collector watches | Watch | Supported | The open-source collector streams a SHA-256 per file; the server's recomputed hash is the only one stored. |
Runtime traffic OpenAI-compatible endpoints, through the capture agent | Capture | Experimental | v1 scope: non-streaming exchanges only; streaming passes through uncaptured, byte for byte. |
Every path obeys the same three rules:
Server-recomputed SHA-256
Nothing a connector claims about a file is stored as the integrity value — the hash is computed from the bytes that arrived, on our side of the wire.
Content-addressed dedupe
The same bytes into the same system return the existing evidence row — re-pulls and restarts are no-ops, and an idempotent retry is the feature working.
Sealable into the public transparency log
Evidence seals into Sealed Evidence Export (.see) bundles whose anchor anyone can re-check — with the open verifier, offline, against the public log.
The open-source path
Three of the four methods ship as code you can read before you trust it: plain ESM JavaScript, Node built-ins only, zero npm dependencies.
e-ari-verify
The independent CLI verifier for sealed bundles — written against the format spec and the RFCs, not against the platform's code.
e-ari-collector
The folder watcher: anything that can drop a file in a folder can reach your evidence vault.
e-ari-capture
The runtime agent: a capture-only, fail-open proxy — never a control plane, and your upstream API key never reaches E-ARI.
The verification path shares no code with the platform.
What we do not do
No scraping. Only APIs the user authorizes with their own credentials. Pull connectors without real-tenant validation are labeled experimental, not supported. Nothing is fetched from a source the user did not point us at.
Start with your exposure
The exposure scanner is free and asks three questions — the same rule engine the platform runs, to see which articles would apply to your AI system.
Run the free exposure checkJoin the connector beta
Real-tenant validation is how a connector earns the supported label. If you can grant it your own credentials, your tenant can retire an experimental label.
Contact us about the beta