Skip to main content

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for evidentia-collectors 0.13.1
File Size Uploaded Provenance Actions
evidentia_collectors-0.13.1.tar.gz 1.2 MB With provenance Details for evidentia_collectors-0.13.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for evidentia-collectors 0.13.1
File Interpreter ABI Platform Actions
evidentia_collectors-0.13.1-py3-none-any.whl Python 3 none any Details for evidentia_collectors-0.13.1-py3-none-any.whl

Total release size: 2.4 MB

Release files / evidentia_collectors-0.13.1.tar.gz

Download URL evidentia_collectors-0.13.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
43b35a806ba3b780eed78f3d95f8c129977f4de75c0e91b48c913d69ce6bb58a
BLAKE2b-256 checksum
How to use checksums
373946a094a663468b14aed55ce76eb98d50f1306130613422ea792b199c99bc
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 21, 2026.

Transparency log

Release files / evidentia_collectors-0.13.1-py3-none-any.whl

Download URL evidentia_collectors-0.13.1-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ff323078f662cb00b7e4523aa25d50febe28846760f5a06548ecef0c6f1a36b2
BLAKE2b-256 checksum
How to use checksums
38484f555daef31f141d63f8cf99cdb6671c6104f2f5d178397b2f6adfd233b0
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 21, 2026.

Transparency log

Security for evidentia-collectors 0.13.1

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.

Select from 2 files

Attestation for evidentia_collectors-0.13.1.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 21, 2026.

Transparency log

A 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.

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page