Skip to main content

Unified DLP scanner for SaaS sources — secret detection (trufflehog, gitleaks, native regex) plus PII detection (pleno-anonymize). API-driven content collection via saas-retriever: GitHub, GitLab, Bitbucket, Slack, Notion, Confluence, Jira.

Project description

pleno-dlp (Python)

Unified DLP scanner for SaaS content — secrets (trufflehog / gitleaks / native regex) and PII (delegating to pleno-anonymize) — backed by saas-retriever for API-only source collection.

The Go binary in this repo (cmd/pleno-dlp) remains for filesystem-only scans; the Python package is the path forward for SaaS.

Install

uv tool install pleno-dlp
# or
pipx install pleno-dlp

# Add the PII backend (pulls pleno-anonymize):
uv tool install 'pleno-dlp[pii]'

Usage

# Secret scan over an entire GitHub org (code + issues + PRs across every repo)
GITHUB_TOKEN=ghp_... pleno-dlp scan github --owner plenoai

# Scan a single repo, only code, with trufflehog verification
pleno-dlp scan github --owner plenoai --repo saas-retriever \
    --resource code --backend trufflehog

# Issue + PR conversations only, PII detection (requires pleno-anonymize)
pleno-dlp scan github --owner plenoai \
    --resource issues --resource prs --backend pii

# SARIF output for GitHub code-scanning ingestion
pleno-dlp scan github --owner plenoai \
    --format sarif > findings.sarif

Auth resolution: --tokenGITHUB_TOKEN env var → gh auth token. Anonymous works for public content but is rate-limited to 60 req/h.

Backends

Backend Class Verifies System dep
trufflehog secret yes (per-detector) trufflehog CLI on PATH
gitleaks secret no gitleaks CLI on PATH
native secret no none — bundled regex (AWS, GitHub PAT, Slack bot, OpenAI, Anthropic)
pii PII n/a pleno-anonymize (installed via pleno-dlp[pii] extra)

Connectors

Anything saas-retriever provides. Today: github with org-wide enumeration plus per-repo code / issues / PRs (comments and unified diffs). Slack / Jira / Confluence / Notion / GitLab / Bitbucket land as standalone API connectors in subsequent saas-retriever releases.

Release

Tag py-vX.Y.Z triggers PyPI trusted publishing via GitHub Actions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pleno_dlp-0.6.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pleno_dlp-0.6.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file pleno_dlp-0.6.0.tar.gz.

File metadata

  • Download URL: pleno_dlp-0.6.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pleno_dlp-0.6.0.tar.gz
Algorithm Hash digest
SHA256 4d1547ba8b7813225a556c6db30f1fbf12c4bb5204e7a0149799b478627cdf1b
MD5 76ac0a38beb45d437678f1a844716d15
BLAKE2b-256 aa64331379a75dee7812686b288cd28fe9c0d9cc9c9ca811adc825a1a0e768fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pleno_dlp-0.6.0.tar.gz:

Publisher: release-py.yml on plenoai/pleno-dlp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pleno_dlp-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pleno_dlp-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pleno_dlp-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed211b0e7154bae837176d9784ca481af8879077057e1d440d8c30c8668ec2d8
MD5 f4c1974e4f846a5f3fab993c0aa86e39
BLAKE2b-256 106b811b9347f84c7d4aeaf8beb68cd83e632081abfc77cf340f1d2a14d33086

See more details on using hashes here.

Provenance

The following attestation bundles were made for pleno_dlp-0.6.0-py3-none-any.whl:

Publisher: release-py.yml on plenoai/pleno-dlp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page