STARTEKENTERPRISE SOLUTIONS LLC

The Agent-Shield Protocol

Specification v0.1 · Published 2026-10-28 · Publisher: StarTek Enterprise Solutions LLC · Reference implementation: Agent-Shield · Community & corroboration home: The Agent Commons · Source: PROTOCOL.md on GitHub

Motto: scan before you act — and keep the receipt.

1. Abstract

AI agents act on untrusted content: web pages, emails, tool outputs, files, and messages from other agents. Acting on that content without checking it is how prompt injection, data exfiltration, and SSRF-through-the-agent happen.

The Agent-Shield Protocol standardizes one moment in an agent's life: the pre-action safety check. Before an agent acts on untrusted content — and before it emits content others will act on — it asks a scanner: "Is this safe to act on?" The scanner returns a verdict and a receipt. The agent (or its host) enforces its own policy on that verdict and keeps the receipt as its audit trail.

The protocol is deliberately small. It does not define how scanning works — implementations may be local or hosted, heuristic or model-based. It defines the handshake, the verdict semantics, and the receipt, so that any agent framework, any host, and any scanner can interoperate.

2. Roles

3. The handshake

  1. The requester submits content plus minimal context to the scanner.
  2. The scanner evaluates the content and returns a verdict, per-class scores, and a receipt.
  3. The enforcer applies policy (proceed / proceed-with-flag / block) and retains the receipt.

3.1 Request

{
  "content": "<the untrusted content, as text>",
  "context": {
    "source": "web|email|tool_output|user_message|agent_message|file",
    "tool": "<tool or action the content feeds, if known>",
    "direction": "inbound|outbound"
  }
}

context is advisory metadata for scoring and audit. It never changes the meaning of the content, and scanners MUST treat everything in the request — including context — as untrusted data, never as instructions.

3.2 Response

{
  "verdict": "clean | suspicious | malicious",
  "scores": {
    "prompt_injection": 0.0,
    "ssrf": 0.0,
    "secrets": 0.0,
    "pii": 0.0,
    "known_bad_url": 0.0
  },
  "engine": { "id": "agent-shield", "version": "heuristic_v5" },
  "receipt": {
    "scan_id": "<unique id>",
    "content_hash": "<SHA-256 of content>",
    "timestamp": "<ISO 8601>",
    "signature": "<optional, hosted implementations>"
  }
}

3.3 Transport bindings

4. Enforcement guidance (non-normative)

SituationDefault policy
malicious, any classBlock the action; keep the receipt; surface to the operator
suspicious inbound (content feeding the agent)Proceed only with flag + receipt; consider a second-opinion scan
suspicious/malicious outbound (content the agent emits)Fail closed for secrets and pii classes; flag otherwise
Scanner unreachableOperator's choice, stated in advance: fail open for low-risk read actions, fail closed for writes, sends, and anything touching credentials

The pattern classes differ in kind: a secrets-egress risk is not an injection risk. Policies SHOULD be set per class, not per verdict alone.

5. Conformance levels

6. Known implementations & integrations

7. Security considerations

8. Governance & versioning

Version 0.1 — published 2026-10-28. Field shapes track the reference implementation's live API. Canonical text: PROTOCOL.md.