Bring evidence from where your team works.
Choose a supported source and inspect what it imports. Pull connectors and the ingestion API require Enterprise API setup. Uploads remain useful for documents already on hand.
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:
Live pull connectors have passed real-source intake tests for their documented scope. This does not certify every tenant configuration. Live test passed means the connection works but the main workflow still needs validation. Other sources remain experimental.
| Source | Method | Status | Integrity |
|---|---|---|---|
Ingestion API From any CI step, cron job or curl — single artifacts or evidence packs | Push | Live | 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 | Live | The same ingestion core as push; every artifact carries a sourceRef naming the repo, commit and path. |
Jira Issue and comment snapshots through the REST API; attachment metadata only | Pull | Live | Real-source local intake tested; broader tenant coverage remains pending. Readable text snapshots use the shared ingestion core. End-to-end tenant validation is pending; attachment bytes are not downloaded. |
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 OneDrive folder files through Microsoft Graph | Pull | Live | Live OneDrive file intake tested with delegated access. SharePoint libraries, customer app consent and other file formats remain unverified. |
Confluence Wiki pages through a CQL sweep — the AI policy where it actually lives | Pull | Live | Real-source local intake tested; broader tenant coverage remains pending. Pages become readable text for the evidence vault. A limited live read sample has passed; end-to-end tenant validation remains pending. |
Google Drive Folder documents through the Drive API, with your own OAuth token | Pull | Live | Real-source local intake tested; broader tenant coverage remains pending. Editor-native formats (Docs, Sheets) are never listed — their bytes need an export transformation, and silent transformation is worse than absence. |
Notion Workspace pages through the Notion API, newest first | Pull | Live | Real-source local intake tested; broader tenant coverage remains pending. Blocks flatten to text with headings and code fences intact; the integration token is the customer's own, shared with the pages it should read. |
Slack Decision threads — search hits with their full replies | Pull | Live | Real-source local intake tested; broader tenant coverage remains pending. Transcripts carry channel, participants and timestamps: evidence of decisions, not just documents. A query is required — there is no default sweep. |
Okta SSO application inventory from the Okta System Log | Pull | Live test passed | Live log intake passed. AI-tool discovery is not yet validated. Inventory JSON is not stored as document evidence. |
Expense reports Scheduled CSV exports from any expense platform, through their signed HTTPS link | Pull | Experimental | The signed URL is the credential and is never logged. Merchants feed shadow-AI discovery — most AI enters through a card payment, not a project. |
Drop folders SFTP drops, S3 sync, shared drives — scheduled exports the collector watches | Watch | Live | 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.
How to connect each one — request bodies, credentials and what lands — is documented endpoint by endpoint in the evidence connectors guide (docs/evidence-connectors.md in the repository, linked from /developers). Developer documentation →
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 checkNeed more source coverage?
Contact us about validating an experimental source or extending a live connector to your tenant configuration.
Discuss your source