source-package.json — Hidden Character Scanner

From version 0.1.1 of Hidden Character Scanner, shown publicly by its creator. 2.8 KiB · SHA-256 de9537f8f044e73a3514b5b7b1a7133f1d2f5aac6122797d5607bb280b45a215.

{
  "schema_version": 1,
  "runtimes": [
    {
      "name": "python",
      "versions": [
        "3.10"
      ]
    }
  ],
  "dependencies": [],
  "operations": [
    {
      "kind": "read",
      "description": "Version 0.1.1: Read caller-selected local paths or stdin to scan Unicode, or decode tag characters from a caller-supplied argument or stdin.",
      "target_restrictions": [
        "Only paths named as scan arguments and descendants of named directories; symbolic links are skipped",
        "Only stdin when the caller supplies - as the scan path or decode-tags input",
        "Per-file reads are bounded by --max-file-bytes; binary data is skipped",
        "File scanning requires Python 3.10+ on macOS or Linux with POSIX directory-descriptor and no-follow APIs; Windows file scanning is unsupported",
        "Before input reads, file scans require os.name == posix, os.O_NOFOLLOW, os.O_DIRECTORY, os.open/os.stat in os.supports_dir_fd, os.stat in os.supports_follow_symlinks, os.scandir in os.supports_fd",
        "Missing file-scanning capabilities return a one-line error and status 1 before any input reads; stdin-only scan and decode-tags remain available on Windows with Python 3.10+",
        "decode-tags stdin is UTF-8, limited to 1048576 bytes, and read at most 1048577 bytes; oversized or invalid UTF-8 input returns status 1"
      ]
    }
  ],
  "authorization": {
    "mode": "none",
    "scopes": [],
    "credential_requirements": []
  },
  "network": {
    "domains": [],
    "destinations": [
      "No network destination"
    ]
  },
  "safety": {
    "read_only_by_default": true,
    "dry_run_supported": false,
    "consequential_writes_require_authorization": true,
    "validation_controls": [
      "No file writes or network calls; file traversal never follows symbolic links",
      "Human-readable output escapes file names and other untrusted text to one visible line",
      "Unreadable and oversized files or explicitly selected symlinks mark the scan incomplete and exit 2 unless --allow-partial",
      "File-scan startup checks exact POSIX capabilities before any input reads; stdin-only scan and decoding do not need them"
    ],
    "target_restrictions": [
      "Read only user-selected paths, their descendants, stdin, or decode-tags text; skip .git, node_modules, .venv, dist and build",
      "Bundled tests create synthetic files in system temp; hygiene reads only package files"
    ]
  },
  "tests": {
    "files": [
      "tests/test_hidden_character_scanner.py",
      "tests/test_hygiene.py"
    ],
    "fixtures": "synthetic_only",
    "provenance": "creator",
    "evidence": [
      "Creator-authored standard-library unittest suite with subprocess CLI checks and synthetic Unicode built at runtime",
      "Tests create synthetic files in system temp; hygiene reads only package files"
    ]
  }
}

License: MIT (read it).

MITMIT License

Copyright (c) 2026 Zero Width Lab

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Back to the listing