Skip to main content

Privacy scanner with GDPR compliance reports - Zero config, instant insights

Project description

Privalyse Logo

The Linter for Privacy

Catch PII leaks & secrets before they hit production.

PyPI version Downloads License: MIT Tests Python Versions

Privalyse Demo


Privalyse is a static analysis tool that builds a Semantic Data Flow Graph of your application. It traces data from source to sink to detect privacy violations that regex-based tools miss.

  • Traditional Linter: "Variable user_email used in line 42."
  • Privalyse: "User Email (Source) → Prompt Template → OpenAI API (Sink) → Logs (Leak)."

⚡ Quick Start

Local

Install and run in seconds. No config required.

pip install privalyse-cli
privalyse
# ✅ Done. Check scan_results.md

GitHub Actions

Add to your CI pipeline in 30 seconds.

# .github/workflows/privacy.yml
name: Privacy Scan
on: [push, pull_request]

jobs:
  privalyse:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Privalyse
        uses: privalyse/privalyse-cli@v0.3.1

Pre-Commit Hook

Catch leaks before you commit.

# .pre-commit-config.yaml
repos:
  - repo: local
    hooks:
      - id: privalyse
        name: Privalyse Scan
        entry: privalyse
        language: system
        pass_filenames: false

GitLab CI

# .gitlab-ci.yml
privalyse_scan:
  script:
    - pip install privalyse-cli
    - privalyse --out report.md
  artifacts:
    paths: [report.md]

GitHub Code Scanning (SARIF)

Integrate findings directly into GitHub Security tab.

      - name: Run Privalyse
        uses: privalyse/privalyse-cli@v0.3.1
        with:
          format: 'sarif'
          out: 'results.sarif'

      - name: Upload SARIF file
        uses: github/codeql-action/upload-sarif@v2
        with:
          sarif_file: results.sarif

🚀 Features

🕵️‍♂️ Secret Detection

Detects hardcoded API keys, tokens, and credentials before they are pushed.

  • Supports: AWS, Stripe, OpenAI, Slack, and generic high-entropy strings.

🗣️ PII Leak Prevention

Identifies Personal Identifiable Information (PII) leaking into logs, external APIs, or analytics.

  • Detects: Emails, Phone Numbers, Credit Cards, SSNs.
  • Context Aware: Understands variable names like user_email or client_id.

⚖️ GDPR & Data Sovereignty

Maps data flows to ensure compliance.

  • Flags: Data transfers to non-EU providers (e.g., OpenAI, AWS US-East).
  • Verifies: Usage of sanitization functions before data egress.

🤖 AI Guardrails

Specialized checks for LLM-integrated applications.

  • Prevents: Sending sensitive customer data to model prompts.
  • Audits: LangChain and OpenAI SDK usage.

🤖 For AI Agents & MCP Servers

Privalyse is designed to be agent-friendly. If you are building an AI coding agent or using an MCP (Model Context Protocol) server, Privalyse provides structured outputs that agents can understand.

privalyse --format json --out privalyse_report.json

Agents can read the JSON report to autonomously fix privacy leaks in the codebase.


🗺️ Roadmap

  • Python Support (AST Analysis)
  • JavaScript/TypeScript Support (AST & Regex)
  • Cross-File Taint Tracking
  • VS Code Extension (Coming Soon)
  • Custom Rule Engine

🤝 Contributing

We love contributions! Check out CONTRIBUTING.md to get started.

📄 License

MIT License. See LICENSE for details.

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

privalyse_cli-0.3.3.tar.gz (151.7 kB view details)

Uploaded Source

Built Distribution

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

privalyse_cli-0.3.3-py3-none-any.whl (132.3 kB view details)

Uploaded Python 3

File details

Details for the file privalyse_cli-0.3.3.tar.gz.

File metadata

  • Download URL: privalyse_cli-0.3.3.tar.gz
  • Upload date:
  • Size: 151.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for privalyse_cli-0.3.3.tar.gz
Algorithm Hash digest
SHA256 352d1bf601b69ca7618b2ca95dce8e7be037459bfaa9bc11091e59c2aa487cb5
MD5 e047e91f25ca22f1ae621eb061a11935
BLAKE2b-256 01240383aa7cfd45a56c3d6bf4449cebed97b4a30deb8fe05dbf761089eb01b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for privalyse_cli-0.3.3.tar.gz:

Publisher: publish.yml on Privalyse/privalyse-cli

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

File details

Details for the file privalyse_cli-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: privalyse_cli-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 132.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for privalyse_cli-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8caee8a9fe6f362aa328fec6b9487687f39dbcdc17eb1d84b6d9e360bf045664
MD5 71b601b8dc6abf22cc7ddd94d6ecabdf
BLAKE2b-256 ae2d8b032b9bab623174abf31e1b07927ada5cd3d1a35421df8e240174c4101c

See more details on using hashes here.

Provenance

The following attestation bundles were made for privalyse_cli-0.3.3-py3-none-any.whl:

Publisher: publish.yml on Privalyse/privalyse-cli

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