WTF Did My Agent Just Do? Back to site

Methodology

How the evidence analyzer works, what it checks, how scoring works, and what it does not do.

How classification works

The analyzer classifies your input into one of five categories based on structural detection:

Signed receipt

Detected when input contains three base64url-encoded segments separated by dots (compact JWS format). The analyzer decodes the header and payload to check for specific evidence fields.

Structured JSON

Detected when input parses as valid JSON. The analyzer inspects the object for evidence-relevant fields like issuer, timestamps, policy references, and identifiers.

Log lines

Detected when input contains timestamp patterns ([HH:MM:SS], ISO 8601 dates), log level indicators, or status codes.

Trace or request

Detected when input contains HTTP methods (GET, POST, etc.), trace IDs, request IDs, or HTTP version strings.

Plain text

Default classification when no structured pattern is detected. The analyzer counts evidence-related keywords to estimate relevance.

How scoring works

Scores are heuristic estimates based on detectable properties in the input. They reflect what evidence characteristics are present, not a formal security audit or compliance assessment.

Signed receipt scoring

Property detectedPoints
Base score (signed artifact present)+40
iss (issuer) in payload+10
occurred_at or iat (timestamp)+10
policy or policy.uri+10
type or kind+10
ext (extensions present)+8
kid in header+7
typ in header+5

JSON scoring

Property detectedPoints
Base score (structured data)+15
Issuer field (iss, issuer)+8
Timestamp field+8
Policy or terms reference+6
Type, kind, or action field+6
Status or result field+5
Identifiers (ID, request_id, trace_id)+4
Nested structure (depth > 1)+3

Log and trace scoring

Logs score 5 to 25 based on the number of distinct evidence property types found (timestamps, status codes, identifiers, policy references, URLs, agent references) plus a line-count bonus. Traces score 10 to 35 using similar property detection for HTTP methods, status codes, headers, and timing data.

Plain text scoring

Scores 3 to 12 based on the count of evidence-related keywords found (such as "agent," "tool," "api," "payment," "authorized," "policy," "denied").

What the analyzer checks

What the analyzer does not check

Known limitations

Source

The analyzer logic is visible in the page source. The underlying standard is PEAC Protocol (Apache-2.0). Source code is on GitHub.