Privacy scanner with GDPR compliance reports - Zero config, instant insights
Project description
The Linter for Privacy
Catch PII leaks & secrets before they hit production.
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_emailused 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_emailorclient_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
352d1bf601b69ca7618b2ca95dce8e7be037459bfaa9bc11091e59c2aa487cb5
|
|
| MD5 |
e047e91f25ca22f1ae621eb061a11935
|
|
| BLAKE2b-256 |
01240383aa7cfd45a56c3d6bf4449cebed97b4a30deb8fe05dbf761089eb01b8
|
Provenance
The following attestation bundles were made for privalyse_cli-0.3.3.tar.gz:
Publisher:
publish.yml on Privalyse/privalyse-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
privalyse_cli-0.3.3.tar.gz -
Subject digest:
352d1bf601b69ca7618b2ca95dce8e7be037459bfaa9bc11091e59c2aa487cb5 - Sigstore transparency entry: 779977381
- Sigstore integration time:
-
Permalink:
Privalyse/privalyse-cli@b2cf5d721da64422acc17a0dcfe2ca8a0a8e386e -
Branch / Tag:
refs/tags/v0.3.3 - Owner: https://github.com/Privalyse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b2cf5d721da64422acc17a0dcfe2ca8a0a8e386e -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8caee8a9fe6f362aa328fec6b9487687f39dbcdc17eb1d84b6d9e360bf045664
|
|
| MD5 |
71b601b8dc6abf22cc7ddd94d6ecabdf
|
|
| BLAKE2b-256 |
ae2d8b032b9bab623174abf31e1b07927ada5cd3d1a35421df8e240174c4101c
|
Provenance
The following attestation bundles were made for privalyse_cli-0.3.3-py3-none-any.whl:
Publisher:
publish.yml on Privalyse/privalyse-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
privalyse_cli-0.3.3-py3-none-any.whl -
Subject digest:
8caee8a9fe6f362aa328fec6b9487687f39dbcdc17eb1d84b6d9e360bf045664 - Sigstore transparency entry: 779977383
- Sigstore integration time:
-
Permalink:
Privalyse/privalyse-cli@b2cf5d721da64422acc17a0dcfe2ca8a0a8e386e -
Branch / Tag:
refs/tags/v0.3.3 - Owner: https://github.com/Privalyse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b2cf5d721da64422acc17a0dcfe2ca8a0a8e386e -
Trigger Event:
release
-
Statement type: