{
  "product": "tokenisle",
  "displayName": "TokenIsolate",
  "classification": "PUBLIC SYNTHETIC DATA ONLY",
  "execution": "Recorded actual local gateway/engine results; no external calls/network/database or private credential use",
  "localStatus": "Passed",
  "localCalls": 10,
  "operationsCovered": 10,
  "tools": [
    "tokenisle_registerRule",
    "tokenisle_listRules",
    "tokenisle_scan",
    "tokenisle_redact",
    "tokenisle_enforceRoute",
    "tokenisle_auditFlow",
    "tokenisle_deisolate",
    "tokenisle_validate",
    "tokenisle_classifyUnknown",
    "tokenisle_snapshot"
  ],
  "claudeFormalHostSelfTest": "Not established by these local fixtures",
  "openaiFormalHostSelfTest": "Not established by these local fixtures",
  "limitation": "Local sensitive-text patterns, redaction, token operations and route/flow checks; no network proxy configuration or exhaustive privacy guarantee.",
  "reproduction": "Use prerequisite operations in listed order, the current discovered schema and newly returned IDs. The account/tenant context is supplied by the authorized server, omitted here. Local result IDs are examples from one isolated run. These records are not production data or a production-host test.",
  "cases": [
    {
      "tool": "tokenisle_registerRule",
      "arguments": [
        {
          "target": "model:synthetic",
          "deniedKinds": [
            "email"
          ],
          "allowedKinds": [],
          "autoRedactOnDeny": true,
          "enabled": true
        }
      ],
      "expected": "denied email rule",
      "actual": {
        "ok": true,
        "rule": {
          "id": "rle_cef4276b-0063-485e-89f9-3045360abb68",
          "target": "model:synthetic",
          "allowedKinds": [],
          "deniedKinds": [
            "email"
          ],
          "autoRedactOnDeny": true,
          "enabled": true
        }
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_listRules",
      "arguments": [],
      "expected": "one rule",
      "actual": [
        {
          "id": "rle_cef4276b-0063-485e-89f9-3045360abb68",
          "target": "model:synthetic",
          "allowedKinds": [],
          "deniedKinds": [
            "email"
          ],
          "autoRedactOnDeny": true,
          "enabled": true
        }
      ],
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_scan",
      "arguments": [
        {
          "text": "synthetic@example.invalid",
          "kinds": [
            "email"
          ]
        }
      ],
      "expected": "one synthetic email",
      "actual": {
        "textHash": "sha256:faa296d58b7dcae9eec26d1991a5e3cc322ea91f0e668c0a720642817d7b0469",
        "redacted": false,
        "findings": [
          {
            "kind": "email",
            "start": 0,
            "end": 25,
            "value": "synthetic@example.invalid",
            "definitive": true,
            "confidence": 0.95,
            "signal": "regex:email"
          }
        ],
        "kindCounts": {
          "email": 1
        }
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_redact",
      "arguments": [
        {
          "text": "synthetic@example.invalid",
          "kinds": [
            "email"
          ]
        }
      ],
      "expected": "one token; no original in redacted text",
      "actual": {
        "text": "[REDACTED:email]",
        "tokens": [
          "tok_18959a4b-2a8a-4aad-98a9-c45c1555525c"
        ],
        "redactedCount": 1,
        "masked": true
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_enforceRoute",
      "arguments": [
        {
          "target": "model:synthetic",
          "text": "synthetic@example.invalid"
        }
      ],
      "expected": "DENY with autoRedact",
      "actual": {
        "ruleId": "rle_cef4276b-0063-485e-89f9-3045360abb68",
        "target": "model:synthetic",
        "decision": "DENY",
        "denied": [
          "email"
        ],
        "autoRedact": true
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_auditFlow",
      "arguments": [
        {
          "flows": [
            {
              "stage": "INPUT",
              "signal": "PROMPT",
              "payload": "synthetic@example.invalid"
            }
          ]
        }
      ],
      "expected": "EXPOSED with one finding",
      "actual": {
        "events": [
          {
            "id": "aud_2323104f-abcf-4ae5-ae0e-d2bdbf56e4e3",
            "stage": "INPUT",
            "signal": "PROMPT",
            "actor": "",
            "at": "2026-10-19T02:42:57.750Z",
            "textHash": "sha256:faa296d58b7dcae9eec26d1991a5e3cc322ea91f0e668c0a720642817d7b0469",
            "findings": [
              {
                "kind": "email",
                "start": 0,
                "end": 25,
                "value": "synthetic@example.invalid",
                "definitive": true,
                "confidence": 0.95,
                "signal": "regex:email"
              }
            ],
            "exposure": true
          }
        ],
        "exposure": [
          "INPUT"
        ],
        "totalFindings": 1,
        "decision": "EXPOSED"
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_deisolate",
      "arguments": [
        {
          "token": "tok_18959a4b-2a8a-4aad-98a9-c45c1555525c"
        }
      ],
      "expected": "recover synthetic original",
      "actual": {
        "token": "tok_18959a4b-2a8a-4aad-98a9-c45c1555525c",
        "ok": true,
        "kind": "email",
        "original": "synthetic@example.invalid"
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_validate",
      "arguments": [
        {
          "token": "tok_18959a4b-2a8a-4aad-98a9-c45c1555525c",
          "candidate": "synthetic@example.invalid"
        }
      ],
      "expected": "matching candidate ok",
      "actual": {
        "token": "tok_18959a4b-2a8a-4aad-98a9-c45c1555525c",
        "ok": true,
        "kind": "email",
        "original": "synthetic@example.invalid"
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_classifyUnknown",
      "arguments": [
        {
          "text": "synthetic ordinary text"
        }
      ],
      "expected": "local stub note and nullable suggested",
      "actual": {
        "suggested": null,
        "note": "llm-aux blocked; deterministic only"
      },
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "tokenisle_snapshot",
      "arguments": [],
      "expected": "one vaulted value and one audited event",
      "actual": {
        "rules": [
          {
            "id": "rle_cef4276b-0063-485e-89f9-3045360abb68",
            "target": "model:synthetic",
            "allowedKinds": [],
            "deniedKinds": [
              "email"
            ],
            "autoRedactOnDeny": true,
            "enabled": true
          }
        ],
        "vaultSize": 1,
        "auditedEvents": 1,
        "scanCalls": 1
      },
      "dependencies": [],
      "localStatus": "Passed"
    }
  ],
  "hostConversationCases": {
    "positive": [
      {
        "prompt": "Using the supplied synthetic fixture inputs, register a local sensitive-data route rule; then record sensitive-data exposure across supplied stages. Explain the returned evidence and limits.",
        "tools_triggered": "tokenisle_registerRule, tokenisle_auditFlow",
        "expected_behavior": "tokenisle_registerRule: denied email rule; tokenisle_auditFlow: EXPOSED with one finding"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, list registered sensitive-data route rules; then recover an original value from a local token. Explain the returned evidence and limits.",
        "tools_triggered": "tokenisle_listRules, tokenisle_deisolate",
        "expected_behavior": "tokenisle_listRules: one rule; tokenisle_deisolate: recover synthetic original"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, detect sensitive-data patterns in supplied text; then compare a candidate value with a recovery token. Explain the returned evidence and limits.",
        "tools_triggered": "tokenisle_scan, tokenisle_validate",
        "expected_behavior": "tokenisle_scan: one synthetic email; tokenisle_validate: matching candidate ok"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, replace sensitive text with local recovery tokens; then suggest a category for unclassified sensitive text. Explain the returned evidence and limits.",
        "tools_triggered": "tokenisle_redact, tokenisle_classifyUnknown",
        "expected_behavior": "tokenisle_redact: one token; no original in redacted text; tokenisle_classifyUnknown: local stub note and nullable suggested"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, evaluate a sensitive-text routing decision; then summarize local sensitive-data isolation state. Explain the returned evidence and limits.",
        "tools_triggered": "tokenisle_enforceRoute, tokenisle_snapshot",
        "expected_behavior": "tokenisle_enforceRoute: DENY with autoRedact; tokenisle_snapshot: one vaulted value and one audited event"
      }
    ],
    "negative": [
      {
        "prompt": "Block real network traffic to this model."
      },
      {
        "prompt": "Guarantee this text contains no personal information of any kind."
      },
      {
        "prompt": "Permanently anonymize the text so no recovery is possible."
      }
    ]
  },
  "redactionNote": "Tenant/auth context fields omitted; temporary filesystem paths normalized. Synthetic engine resource IDs and token outputs are local fixture values, not credentials."
}
