Repository navigation
Privacy and Security
Nowhere. Payment data you paste is analyzed in your browser (in a Web Worker) or locally by the CLI.
- No upload, no server-side analysis, no analytics on pasted content.
- The static demo's Content Security Policy allows network requests only to its own origin.
- Nothing you paste is written to browser storage. The theme setting is the only thing remembered.
- The optional admin area (see Self-Hosting) never receives imported payment data.
Sensitive data is removed from everything PandaPayLens shows or exports: the raw data view, events, findings and reports.
| Removed or replaced | How |
|---|---|
| card numbers, security codes, expiry, encrypted card fields | blocked field names, plus a Luhn check on values |
| tokens, API keys, secrets, passwords, signatures, authorization headers | blocked field and header names |
| names, emails, phone numbers, addresses, IP addresses | blocked field names |
prototype keys (__proto__, constructor, prototype) |
dropped with a warning |
Adapters read the original record locally but copy only allowlisted, non-sensitive fields into events, and provider messages pass through a sanitizer. A final pass over every report removes anything that still looks sensitive, wherever it was planted. These guarantees are covered by property-based tests that plant card numbers, emails and secrets in random places.
Payment, event, subscription and attempt identifiers are masked by default in all exports (only a short prefix and suffix stay visible). You can include them explicitly (--include-identifiers in the CLI, or the export option in the browser) when you need them for a support ticket.
PandaPayLens never verifies signatures and never asks for webhook secrets. A pasted webhook can be edited by anyone, so it is always treated as unverified. Verify signatures in your own system with the provider's SDK.
- Hard limits on size, depth, records and string length (see Input Formats).
- A time limit on browser analysis.
- No
eval, no dynamic code, no network or storage access in the engine, adapters or rules. - Provider text is escaped in HTML and Markdown exports. Documentation links are validated.
Please report security issues privately through GitHub's private vulnerability reporting, not in public issues. See SECURITY.md.
All fixtures and examples are synthetic. Identifiers contain PPLsynth. Please never attach real card, customer or merchant data to an issue; use the masked export instead.
PandaPayLens is open source under the Apache-2.0 license. Demo · Repository · Changelog
Using PandaPayLens
- Getting Started
- Input Formats
- Error Decoding
- Timeline and Correlation
- Diagnostic Rules
- Exports and Reports
- Command Line Interface
Providers
Under the hood
Community