Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIDeepSeekDeepSeekMuseMuse+22 more

    HAR & Log Redactor: Mask Tokens and PII Before You Share

    1

    That file holds your live session cookie, a bearer token, API keys in query strings and customer emails in response bodies.

    $6.99

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    HAR & Log Redactor: Mask Tokens and PII Before You Share

    HAR & Log Redactor: Mask Tokens and PII Before You Share

    Example session with this skill installed

    Vendor support wants a HAR of the failing checkout. Redact this capture so I can attach it to the ticket, keep the hostnames, and tell me what you removed.

    • Read your context and instructions
    • Compiled the har & log

    Redacted copy: checkout.redacted.har, 3 entries, hostnames kept.
    Mapping file: checkout.map.json. It holds the original values, so it stays on this machine. Don't attach or commit it.

    27 replacements of 13 unique values:

    CategoryCountWhere
    EMAIL7login request body, three response bodies
    TOKEN6X-CSRF-Token header, csrf cookie, refresh_token
    COOKIE4session in Set-Cookie, Cookie and both cookies arrays
    IP4serverIPAddress on all 3 entries, client_ip in the cart response
    JWT2Authorization: Bearer, access_token in the login response
    KEY2api_key in request.url and queryString
    PHONE1login response body
    SECRET1password in the login request body
    • <<JWT_1>>: alg HS256, claims iss, exp and one namespaced claim. No claim values are recorded.
    • The cart response was base64 encoded. It was decoded, redacted and encoded again.
    • Sizes and timings are left as captured.

    Verify: exit 0, no known pattern found (85 strings checked). That means no detector matched. It isn't proof that nothing sensitive remains.

    Before you send it: import the copy into your browser's network panel and skim it. The raw capture held a session cookie, a bearer JWT, a refresh token and an API key. If that raw file already went anywhere and any of them still work, rotate them.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Support asks for a HAR of the failing request. That file holds your live session cookie, a bearer token, API keys in query strings and customer emails in response bodies. Hand-editing a 40 MB JSON file breaks it, and uploading it to a web sanitizer is the exposure you were trying to avoid.

    What your agent does

    • Works on the path, not the content: it never reads the raw file or the mapping file into the conversation. It reports placeholders, categories and locations only.
    • Asks where the copy is going: vendor ticket, public issue or AI chat, then picks options such as --keep-hosts, --drop-bodies and --no-map.
    • Runs one local script: sanitize.py rewrites a HAR, JSON file or text log with placeholders such as <<TOKEN_1>>. One value gets one placeholder across the run, and a HAR keeps its entry count.
    • Replaces by name, shape and entropy: auth headers, cookie values, JWTs, vendor key prefixes, passwords, connection strings, emails, phone numbers in international form, IP addresses and card numbers that pass the Luhn check.
    • Verifies the copy: a second pass reruns every detector and exits 3 if anything is left, printing category and location, never the value.
    • Reads you the summary: counts per category and location, the key, header and cookie names that triggered, and JWT algorithm and claim names.

    Built-in guard rails

    • The original file is never modified. The script refuses an output path equal to the input.
    • No network code and no subprocesses, Python standard library only.
    • The mapping file (placeholder to original value) opens with a warning, and --no-map skips it.
    • The agent says "no known pattern found", never "safe". Binary bodies and data URIs aren't scanned, and the run says so.

    What's inside

    • SKILL.md: eight-step workflow, 10 hard rules, limits.
    • scripts/sanitize.py: the redactor and the verify pass.
    • 5 reference files: detectors, HAR structure, custom patterns, mapping file handling, sharing checklist.
    • 3 fixtures: checkout.har (3 entries), app.log (20 lines), patterns.example.json.
    • 272 unit tests in 6 test files.

    Detection is by name, shape and entropy. A secret with none of those isn't found, so the last look is yours.

    Find more skills like this on the Claude Skills Marketplace, the Codex Skills Marketplace and the Gemini Skills Marketplace, or browse Claude Skills for Security.

    Detection is by name, shape and entropy, so a secret with none of those is missed. Personal names and postal addresses need a custom pattern. A GraphQL variable named p or pw is missed. Binary bodies aren't scanned. Phone numbers need a leading plus sign. A clean verify isn't proof.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before buying a skill.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed today

    Accounts
    2
    Software
    Python 3 (3 point 8 or later)
    A HAR, JSON capture
    ortext log
    Claude Code
    orCodex
    orCursor
    Optional
    A browser to import the redacted HARPatterns file with your own rules

    Patterns file with your own names and regexes. Patterns file with your own names and regexes.

    Permissions

    Terminal / Shell
    Read Files
    Write Files

    Allowed Hosts

    id.example.net
    example.com
    shop.example.com
    cdn.example.net
    192.0.2.10
    api.example.com
    Listedtoday

    What's inside

    Frequently Asked Questions

    No. The script has no network code and starts no subprocess. It reads the path you give it and writes the copy, the summary and the optional mapping file locally.

    It stays valid JSON with the same entry count, and one value keeps one placeholder, so you can follow a session across requests. Sizes and timings are left as captured.

    No. It means no known pattern matched. A short password inside a free text note, or a customer name, isn't found unless you add a custom pattern.

    It lists each placeholder beside the original value, so you can translate a vendor's reply back. It contains the secrets, so keep it local or run with `--no-map`.

    New in Security