{
  "product": "spectrallock",
  "version": "0.3.0",
  "author": "Aziel Eliab",
  "handwriting": {
    "family": "handwriting",
    "aliases": [
      "handwriting",
      "handwrite",
      "ink-hand",
      "forgery-scan"
    ],
    "ops": [
      "analyze",
      "compare",
      "side-by-side",
      "graph",
      "forgery-indicators",
      "refuse"
    ],
    "refuse_codes": [
      "SL-HANDWRITING-NO-INK",
      "SL-HANDWRITING-UNSUPPORTED",
      "SL-HANDWRITING-LIMIT"
    ],
    "feature_matrix": {
      "stroke_weight": {
        "status": "live",
        "note": "width from ink mask + 4-dir radius (hosted); chamfer in package"
      },
      "speed_cues": {
        "status": "live",
        "note": "taper / tremor / ballistic vs controlled — heuristic only"
      },
      "ink_density": {
        "status": "live",
        "note": "darkness of ink-mask pixels"
      },
      "bleed_feathering": {
        "status": "live",
        "note": "edge gradient width / capillary-spread proxy"
      },
      "handwriting_shifts": {
        "status": "live",
        "note": "baseline drift, slant, size change"
      },
      "erasures": {
        "status": "live",
        "note": "abrasion brightening + mid-gray ghosts"
      },
      "tracing": {
        "status": "live",
        "note": "width uniformity, lift clustering"
      },
      "tremor_copy": {
        "status": "live",
        "note": "high-frequency wobble + slow uniform width"
      },
      "pen_lifts": {
        "status": "live",
        "note": "connected-component breaks"
      },
      "retouch_overwrite": {
        "status": "live",
        "note": "dark-on-dark cores"
      },
      "dual_ink": {
        "status": "live",
        "note": "hue clusters in stroke pixels"
      },
      "baseline_misalign": {
        "status": "live",
        "note": "row centroid drift"
      },
      "indent_helper": {
        "status": "live",
        "note": "indent mode inject-OFF; not ESDA"
      },
      "clone_stamp": {
        "status": "live",
        "note": "repeated 8×8 luminance hashes far apart"
      },
      "compression_paste": {
        "status": "live",
        "note": "8×8 block energy discontinuities"
      },
      "ductus": {
        "status": "live",
        "note": "gradient-direction consistency"
      },
      "style_shift": {
        "status": "live",
        "note": "component aspect-ratio regime change — heuristic flag only"
      },
      "jpeg_decode": {
        "status": "slot",
        "note": "hosted preview is PNG only; local package accepts JPEG"
      },
      "pressure_newtons": {
        "status": "slot",
        "note": "no force sensor; width/darkness is a proxy only"
      },
      "speed_mm_s": {
        "status": "slot",
        "note": "no temporal capture; taper/tremor are shape cues"
      },
      "writer_identity": {
        "status": "slot",
        "note": "never claimed as identity fact"
      },
      "esda": {
        "status": "slot",
        "note": "not electrostatic detection"
      },
      "chemical_ink_dating": {
        "status": "slot",
        "note": "not a lab assay"
      },
      "court_examiner_opinion": {
        "status": "slot",
        "note": "not a qualified examiner finding"
      }
    },
    "live_signals": [
      "baseline_misalign",
      "bleed_feathering",
      "clone_stamp",
      "compression_paste",
      "dual_ink",
      "ductus",
      "erasures",
      "handwriting_shifts",
      "indent_helper",
      "ink_density",
      "pen_lifts",
      "retouch_overwrite",
      "speed_cues",
      "stroke_weight",
      "style_shift",
      "tracing",
      "tremor_copy"
    ],
    "slot_signals": [
      "chemical_ink_dating",
      "court_examiner_opinion",
      "esda",
      "jpeg_decode",
      "pressure_newtons",
      "speed_mm_s",
      "writer_identity"
    ],
    "no_lie": true,
    "guessed_letters": false,
    "forensic_certification": false,
    "esda": false,
    "chemical_ink_dating": false,
    "writer_identification_as_fact": false,
    "heatmap_is_transcript": false,
    "heatmap_is_court_finding": false,
    "catalog_door": false,
    "worker_path": "/v1/handwriting",
    "hosted_preview": true,
    "max_side": 256,
    "jpeg": false,
    "note": "Handwriting analysis is synthetic image analysis of a user-supplied scan or photo of paper. Stroke weight, speed cues, bleed, erasures, tracing, and forgery indicators are heuristics from present pixels. They are candidates — human verification required. Heatmaps are residual overlays. Hosted /v1/handwriting is a 256 px PNG preview; the full pipeline is the Python package. An empty gate is a valid reading. Balance/lemon never invent marks. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
    "author": "Aziel Eliab",
    "status": "live"
  },
  "advisory": "Handwriting analysis is synthetic image analysis of a user-supplied scan or photo of paper. Stroke weight, speed cues, bleed, erasures, tracing, and forgery indicators are heuristics from present pixels. They are candidates — human verification required. Heatmaps are residual overlays. Hosted /v1/handwriting is a 256 px PNG preview; the full pipeline is the Python package. An empty gate is a valid reading. Balance/lemon never invent marks. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
  "kv_increment": false
}