Skip to content

About

Collect compliance evidence (FedRAMP 20x, NIST 800-53) from AWS, Azure, GCP, Okta, Wiz and more, and send it to Paramify.

Topics

Resources

Contributing

Security policy

Stars

36 stars

Watchers

1 watching

Forks

Repository files navigation

Paramify Fetchers

CI Release Python License

Paramify Fetchers collect evidence for your compliance program. They read the configuration and activity of the tools that you already run, such as AWS, Azure, GCP, Okta and Wiz. They turn that data into evidence for FedRAMP 20x Key Security Indicators and NIST 800-53 controls. You can then upload the evidence to Paramify.

Each fetcher is a small script that reads data with read-only access and writes JSON to disk. A separate uploader sends the evidence to Paramify. No data leaves your environment until you upload it. This repo contains the fetchers, the runner that executes them, and the uploader.

Ask DeepWiki about this repo

If you have a question about this repo, ask DeepWiki. It answers in plain English and links to the code that it read.

How it runs: a container in your environment runs on a schedule. Inside it, the fetchers read your tools read-only and write JSON evidence files to disk, then the uploader sends those files to Paramify. Fetchers never contact Paramify. Only the uploader sends data out.


Supported services

AWS
AWS
Azure
Azure
Google Cloud
Google Cloud
Wiz
Wiz
Datadog
Datadog
Okta
Okta
CrowdStrike
CrowdStrike
Splunk
Splunk
SentinelOne
SentinelOne
KnowBe4
KnowBe4
GitLab
GitLab
Kubernetes
Kubernetes
Rippling
Rippling
Paramify
Paramify
Checkov
Checkov
ServiceNow
ServiceNow
Better Stack
Better Stack
Jira
Jira
Web
Web
Zendesk
Zendesk
Oracle Cloud
Oracle Cloud
GitHub
GitHub
FedRAMP Marketplace
FedRAMP Marketplace
Qualys
Qualys

Coverage over time: fetcher and service counts, generated from this repo's git history

python tools/generate_chart.py draws this chart from the git history by CI each time a new fetcher merges.

Coming soon

More integrations are in progress. To ask for a new platform or fetcher, post in Fetcher requests in Discussions. Upvote the requests that you want built next.

SSL Labs
SSL Labs
Tenable
Tenable

and more


Try it in a minute

You do not need credentials. The bundled demo_hello fetcher writes synthetic evidence, so you can watch a full run before you connect a real service.

git clone https://github.com/paramify/paramify-fetchers.git && cd paramify-fetchers
python -m venv .venv && source .venv/bin/activate
pip install -e .
paramify run examples/demo.yaml                    # synthetic evidence, no credentials
paramify evidence evidence/run-*/demo_hello.json   # read what it wrote

The zero-credential demo: one run, then the evidence file it wrote


Install

Prerequisites: Python 3.11 or later.

git clone https://github.com/paramify/paramify-fetchers.git
cd paramify-fetchers
python -m venv .venv && source .venv/bin/activate
pip install -e '.[all]'      # '[all]' bundles the TUI; use `pip install -e .` for the headless CLI only

Each platform has its own requirements:

  • Most fetchers call a CLI, such as aws, jq, curl or kubectl. Install only the CLIs for the platforms that you use.
  • Azure, GCP and Oracle Cloud use the official SDKs, not a CLI. Install them with pip install -e '.[azure]', pip install -e '.[gcp]' or pip install -e '.[oci]'. These extras are only needed for those platforms, so [all] does not include them. Azure signs in with DefaultAzureCredential and GCP with Application Default Credentials, so neither one needs a key file. OCI uses an API signing key that the runner injects as a secret, or an instance or resource principal where it is deployed; see fetchers/oci/README.md.
  • Most platforms have a credential setup guide at fetchers/<category>/README.md. Select a logo under Supported services to open its folder.

Use it

You can use the fetchers in three ways. All three go through one facade (framework.api), so they behave the same.

The TUI

paramify tui browses the catalog, builds and validates a manifest, runs it, and shows the evidence. You do all of this from the keyboard.

The paramify TUI: search the catalog, read a fetcher's contract, run a manifest, and open the evidence

Drive it with an AI agent

Every command takes --json, and each paramify manifest edit returns a stable {ok, path, errors} object. As a result, an agent can build a runnable manifest and does not have to read the screen output. The repo also ships Claude Code skills in .claude/skills/. They scaffold a fetcher, onboard a new platform, wire a fetcher into a manifest, and propose validators.

Using the CLI

The CLI does the same operations by hand:

paramify catalog                 # browse the fetchers
paramify describe <fetcher>      # see what one fetcher needs
paramify manifest init           # start a manifest, then add fetchers and secrets
paramify run manifest.yaml       # collect evidence
paramify upload                  # send the latest run to Paramify

docs/cli_guide.md is the full CLI reference and has a complete walk-through. examples/ has sample manifests, and deploy/README.md shows how to run on a schedule in a container.


Contributing

To ask for a new platform or fetcher, post in Fetcher requests. To add a fetcher yourself, start with CONTRIBUTING.md. It gives the dev setup, the checks that CI runs, the ground rules, and the guides for each kind of fetcher.


Where to read next

The documentation index lists every other guide and reference page.

License

This project uses the GNU General Public License v3.0. See LICENSE.

About

Collect compliance evidence (FedRAMP 20x, NIST 800-53) from AWS, Azure, GCP, Okta, Wiz and more, and send it to Paramify.

Topics

Resources

Contributing

Security policy

Stars

36 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages