{
  "schema_version": 1,
  "tool_version": "0.1.0",
  "source_name": "needs-review.zip",
  "files": [
    {
      "path": "../outside.txt",
      "size": 27,
      "sha256": "3a62f63e40edbed66868ab891c389839cfea82aaf334525e4225555d6c1f6e76",
      "content_scan": "text",
      "read_size": 27,
      "compressed_size": 29,
      "compression_ratio": 0.931
    },
    {
      "path": ".git/config",
      "size": 28,
      "sha256": "056f7dbbf2c7d95197e32597b9ba5dfe6602a6e975c5c39e0a96c8385c16fdd3",
      "content_scan": "text",
      "read_size": 28,
      "compressed_size": 30,
      "compression_ratio": 0.933
    },
    {
      "path": "settings.env",
      "size": 61,
      "sha256": "de4379ef7c1a2f25389ccf021f76bdaa2412f16f2633ba8f218b585b542440b4",
      "content_scan": "text",
      "read_size": 61,
      "compressed_size": 57,
      "compression_ratio": 1.07
    },
    {
      "path": "compressed.txt",
      "size": 20000,
      "sha256": null,
      "content_scan": "not_scanned",
      "compressed_size": 37,
      "compression_ratio": 540.541
    },
    {
      "path": "binary.dat",
      "size": 3,
      "sha256": "47ffa3ea45a70b8a41c2c0825df323c00a8b7a01c1ea06083cc41dddcc001123",
      "content_scan": "binary_or_unknown_encoding",
      "read_size": 3,
      "compressed_size": 5,
      "compression_ratio": 0.6
    },
    {
      "path": "link",
      "size": 14,
      "sha256": null,
      "content_scan": "not_scanned",
      "compressed_size": 14,
      "compression_ratio": 1.0
    }
  ],
  "findings": [
    {
      "level": "error",
      "code": "unsafe_path",
      "path": "../outside.txt",
      "detail": "Absolute, drive-qualified, NUL or parent traversal path."
    },
    {
      "level": "warning",
      "code": "packaging_noise",
      "path": ".git/config",
      "detail": "Common cache, dependency or version-control artifact; confirm whether intentional."
    },
    {
      "level": "warning",
      "code": "possible_secret",
      "path": "settings.env",
      "detail": "Line 1: [REDACTED]; heuristic match, may be legitimate configuration or a false positive."
    },
    {
      "level": "info",
      "code": "possible_secret",
      "path": "settings.env",
      "detail": "Line 2: [REDACTED]; looks like a placeholder, verify context."
    },
    {
      "level": "warning",
      "code": "compression_ratio",
      "path": "compressed.txt",
      "detail": "Entry content was not read; no hash or secret conclusion is available."
    },
    {
      "level": "info",
      "code": "unscanned_encoding",
      "path": "binary.dat",
      "detail": "Hash available; secret heuristics skipped binary or unsupported text encoding."
    },
    {
      "level": "warning",
      "code": "symlink",
      "path": "link",
      "detail": "Entry content was not read; no hash or secret conclusion is available."
    },
    {
      "level": "warning",
      "code": "missing_manifest",
      "path": "",
      "detail": "No recognized manifest filename (manifest.json, manifest.sha256, SHA256SUMS, file-manifest.json). This is a packaging convention, not proof of a defect."
    }
  ],
  "inventory_complete": true,
  "limits": {
    "max_file": 33554432,
    "max_total": 134217728,
    "max_entries": 10000,
    "ratio_limit": 100,
    "text_limit": 1048576
  },
  "limitations": [
    "Heuristics only; not a security, malware, copyright or license audit.",
    "No claim that all secrets were found. Binary, oversized, encrypted and unreadable files may be unscanned.",
    "Directory scans are not atomic snapshots; keep the input unchanged during scanning.",
    "SHA256 hashes describe read bytes, not authenticity or trust."
  ],
  "summary": {
    "error": 1,
    "warning": 5,
    "info": 2,
    "files": 6,
    "hashed": 4
  },
  "status": "review_needed"
}
