Best fit
Checks decoded QR payload text for incomplete URL forms, listed shorteners, javascript/data/file schemes, a configurable length review threshold, narrow Wi-Fi/MECARD/mailto issues, and explicit credential-like fields.…
Inspect the exact text a QR code carries before it is locked into packaging, signage, a card, or a printed campaign.
Supply one already-decoded payload per non-empty line through a .txt file, a folder of text files, or --stdin. The standard-library Python scanner returns a rule ID, severity, file, line, and message for every finding.
The workflow is local and read-only. It does not rewrite the payload, generate a QR image, or open the destination.
http: or https: scheme.javascript:, data:, or file:.WIFI:, MECARD:, or mailto: form within the checks the scanner implements.token, api_key, password, or secret.High and medium findings make the command exit nonzero. Low findings are review prompts. The report identifies the supplied text; it does not resolve the final site or decide whether that site is trustworthy.
The shipped configuration reports payloads over 180 characters at low severity because longer values deserve an explicit review. That number is a configurable local heuristic, not a universal QR capacity or scan-reliability limit.
Whether a printed symbol scans depends on the encoded data, QR version and error correction, module size, quiet zone, contrast, material, damage, camera, lighting, and distance. This package does not inspect any of those image or print variables.
The scanner does not decode QR graphics, expand shortened URLs, follow redirects, fetch destination content, detect spoofed domains, verify domain ownership, confirm HTTPS configuration, or monitor what a dynamic destination does later.
Its Wi-Fi, MECARD, and mailto checks are intentionally narrow. A clean report is not a certificate that every scanner app will interpret the payload identically or that the printed code is safe.
The guide separates the decoded payload from the QR image, verifies the intended domain and action, treats shorteners as unresolved, checks credentials and actionable formats, and preserves a human-readable fallback before a print run.
Read the QR payload preflight guide →Checks decoded QR payload text for incomplete URL forms, listed shorteners, javascript/data/file schemes, a configurable length review threshold, narrow Wi-Fi/MECARD/mailto issues, and explicit credential-like fields.…
Checks decoded QR payload text for incomplete URL forms, listed shorteners, javascript/data/file schemes, a configurable length review threshold, narrow Wi-Fi/MECARD/mailto issues, and explicit credential-like fields.….
Do not treat a successful run as proof beyond the supplied files, declared scope, and evidence the skill actually checked.
It reads non-empty lines from .txt files, folders of .txt files, or stdin. Each line is treated as one already-decoded QR payload.
No. Image decoding is outside the package. Decode the QR separately, then supply the exact text so the scanner can inspect the payload.
The shipped rule flags payloads that begin with javascript:, data:, or file:. It does not claim to classify every registered or application-specific URI scheme.
No. It compares the hostname with a shipped editable list of common shorteners and reports a low-severity review flag. It does not call the network or resolve redirects.
It flags a password field in a WIFI payload and URL query parameter names token, api_key, password, or secret. It does not scan arbitrary text for every possible secret format.
No. The report covers the decoded text and local rules only. It does not inspect the image, print quality, destination content, redirects, domain ownership, browser behavior, or future changes.
Current price and purchase option are shown on Agensi. The package is local and read-only and works with agents that read SKILL.md.
Get the QR Payload Auditor on Agensi