evidentia-collectors
Evidence collectors for Evidentia, the open-source compliance-as-code engine. Collectors read source configuration and findings without changing the source system. Results include SecurityFinding records and a collection manifest; available control mappings and coverage depend on the collector. Configuration observations alone do not establish compliance.
Collectors
| Collector | CLI leaf | Evidence | Extra |
|---|---|---|---|
| AWS | collect aws |
Config rules, Security Hub findings, IAM Access Analyzer | [aws] |
| GitHub | collect github |
Repository visibility, branch protection, CODEOWNERS, Dependabot alerts, OSPS Baseline helpers | [github] |
| Okta | collect okta |
User inventory, inactive accounts, admin assignments, MFA enrollment, password and sign-on policies | none ([okta] adds the official SDK for your own code) |
| Google Workspace | collect google-workspace |
Directory users, inactive accounts, admin accounts, 2-Step Verification enrollment, Reports login activity | none |
| Entra ID / Microsoft 365 | collect entra-m365 |
Conditional Access, authentication registration, sign-ins, activated roles, Intune devices, retention labels, supplied DLP configuration, Defender alerts and incidents | none |
| Enterprise retention | collect enterprise-retention |
Selected Google Vault matters/holds, Splunk Enterprise index retention and Elasticsearch ILM configuration | none |
| Incident clock | collect incident-clock |
One selected ServiceNow, Jira Cloud or PagerDuty record, declared workflow events and exact elapsed seconds | none |
| Release cadence | collect release-cadence |
Public GitHub release facts, publication-time qualification, event identity and explicit local persistence | none |
| Public registries | collect registry |
Eleven selectors for source facts, selected identities, traversal status and freshness | [registries] for InCommon XML verification; none for the other selectors |
| Storage retention | collect retention |
Selected S3 Object Lock/versioning, Azure Blob policy/hold configuration with account/service context, and GCS bucket retention/versioning | [retention] for S3; none for Azure/GCS |
| PostgreSQL, MySQL, SQLite, MS SQL, Oracle | collect sql |
User privileges, audit configuration, encryption posture | [sql-postgres], [sql-mysql], [sql-sqlite], [sql-mssql], [sql-oracle], or [sql] for the whole family |
| Databricks | collect databricks |
Token lifecycle, cluster configuration, service principals, secret scopes | [databricks] |
| Snowflake | collect snowflake |
Login history, users and MFA, grants, network and masking policies | [snowflake] |
| Vanta, Drata, BitSight, SecurityScorecard | collect vanta, collect drata, collect bitsight, collect securityscorecard |
Vendor inventory and security ratings | none |
Four importers read exports or feeds: collect ocsf for OCSF Compliance and Detection Findings ([ocsf]), collect nessus and collect greenbone for vulnerability-scan exports, and collect scap for selected XCCDF 1.2 or OVAL 5.8, 5.11.2 and 5.12.3 core results ([scan] for XML importers).
Install
pip install evidentia-collectors # the httpx-based collectors and importers
pip install 'evidentia-collectors[aws]' # add one provider's driver
pip install 'evidentia-collectors[all]' # every optional driver
Credentials come from environment references documented for each collector. Enterprise retention resolves the token reference in its authorized profile; its --help names the registry environment variable. No collector accepts a secret as a flag or in a request body. Outbound hosts pass an SSRF guard by default.
Entra/M365 returns a full result envelope with nine capability states, counts, source provenance and a manifest. Prefer EntraM365Collector.collect_v2(request) in Python; collect(request) returns findings only. Graph access uses pre-minted tokens from ENTRA_M365_ACCESS_TOKEN and a separate delegated ENTRA_M365_RETENTION_ACCESS_TOKEN. ENTRA_M365_AUTH_MODE declares the primary token mode. DLP-only ingestion needs no token. Partial or unavailable evidence is explicit and never proves tenant-wide compliance. Tests use labeled synthetic Graph responses and a selected recorded CISA DLP export; live-tenant acceptance remains unverified.
Operator guide: Run evidence collectors.
Storage retention accepts a bounded JSON request selecting one provider and 1 through 20 resources. StorageRetentionCollector.collect_v2(request) and the CLI, API and console retain every resource and component, including partial and unavailable evidence. Native days, years, quoted seconds and source timestamp text remain distinct. Results describe configuration, with unknown compliance and no object-enforcement or recordset-completeness claim. Credentials use fixed server-side references, without SDK discovery or refresh. Tests use 24 labeled synthetic provider-response fixtures; live cloud acceptance is unverified. See the storage design.
Enterprise retention requires an administrator-configured profile and a separate explicit grant for each API principal or local CLI use. Full results preserve the unique read ledger, native values, partial/unavailable states and informational findings with unknown compliance. The console and API share the strict request and result contract; live-provider acceptance remains unverified. See the enterprise design and the operator guide above.
Public registry requests select one typed target and an optional scope label. RegistryCollector.collect_v2(request) preserves the complete result; collect(request) returns findings only. TLS, RDAP, GLEIF and security.txt use fixed verified transport policies. SAM reads EVIDENTIA_REGISTRY_SAM_API_KEY on the server. FedRAMP, CMVP and FCC use packaged reviewed snapshots. InCommon requires pip install 'evidentia-collectors[registries]'; the GUI extra alone does not install its verifier. SSL Labs live access is disabled before all I/O. Source evidence does not establish eligibility, ownership, applicability or compliance. See the registry design for exact source, timestamp, trust and approved publisher-data preservation rules.
Incident clocks require a trusted profile with exact record, workflow and principal grants; local CLI permission is separate. IncidentClockCollector.collect_v2(request) uses an issued selection and returns the full source/clock result. Current ServiceNow date columns, Jira changelog transitions and PagerDuty log entries retain their native operational meanings. Complete, incomplete and unavailable sources remain distinct from computed, unresolved and reversed clocks. Tests and console examples are synthetic; live permissions, entitlement and workflow correctness require operator validation. See the incident clock design and operator guide.
SCAP imports preserve the complete native graph, exact source hash, selected assessment and completion provenance. An artifact can be unavailable even when the full import succeeds. The CLI and console require explicit profile and assessment selection; import does not run a scanner or save evidence. Source URLs and embedded instructions remain inert. See the SCAP operator guide for completion assertions, finite limits, downloads and separate persistence.
Release cadence fixes the unauthenticated public GitHub Releases profile and returns a complete bounded PollResult. collect_release_cadence(request) is the Python entrypoint; poll_release_bytes(request) returns the accepted full JSON bytes. Polling does not open the evidence store unless persist is true. Core's evaluate_release_series reads saved publication families offline under an explicit window and spacing policy. Source observations preserve later fact changes without inflating publication counts. These results do not establish patch installation, remediation or compliance. See the release-cadence guide for authentication, source limits, storage outcomes and console downloads.
License: Apache 2.0
Metadata
Release files for evidentia-collectors 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| evidentia_collectors-0.13.0.tar.gz | 1.2 MB | With provenance | Details for evidentia_collectors-0.13.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| evidentia_collectors-0.13.0-py3-none-any.whl | Python 3 | none | any | Details for evidentia_collectors-0.13.0-py3-none-any.whl |
Total release size: 2.4 MB
Release files / evidentia_collectors-0.13.0.tar.gz
| Download URL | evidentia_collectors-0.13.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8fdd4b08433d4f267f39817217a2edc8a7f3303d7b4cc9686184390accfacab3
|
|
BLAKE2b-256 checksum How to use checksums |
f7cf529e2c13a94d06ed9ccea2f4c3ac2a73df7c465d3e70eb80496b0989161e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / evidentia_collectors-0.13.0-py3-none-any.whl
| Download URL | evidentia_collectors-0.13.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d56d98e8afd64c4840ff55eb8779eac0de5b75b0762475bb0e1155049004ef9
|
|
BLAKE2b-256 checksum How to use checksums |
a0aff3562267b6b263296a2bd3885e158516b71d54633b276067a30f9a67a376
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logSecurity for evidentia-collectors 0.13.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for evidentia_collectors-0.13.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.