a2ally™ Sign up

Answers · agent trust

Can you fingerprint or permanently identify an AI agent?

Last updated

TL;DR: Not in any lasting way. A person has one body; an agent is a model, a system prompt, a tool list, code and whoever directs it, and each of those can change in minutes while the same model runs as many copies at once. And even a perfect snapshot would not stop the owner from changing the agent's intent right after the check. What works is to certify the accountable owner behind the agent and the exact configuration at a moment in time, bind that to the agent's key in a short-lived credential, and let any configuration change break it automatically. Trust then builds from signed behaviour evidence over time.

What should I check, step by step?

1. Identify the accountable party (person or company) and how well they are verified: email, domain, business, government ID through a provider.

  1. Hash the configuration: model id, the SHA-256 of the system prompt (never the prompt itself), the tool list and the code version.
  2. Bind the hash to the agent's own key in a signed credential that lasts hours or days, not years.
  3. Limit scope: list the actions the credential allows.
  4. Publish revocations instantly in a signed list relying sites can cache.
  5. Collect signed action logs and incident reports so a track record accrues per credential.

What does changing intent do?

If the owner edits the prompt, swaps the model, adds a tool or ships new code, the configuration hash changes. A site that checks the presented hash against the credential sees config_mismatch and refuses. Intent can still change, but not silently.

How do I ask a2ally about this (free, no key)?

Add the MCP server https://www.a2ally.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Issue a credential for my agent's current configuration with read-only scope for 24 hours.”

One-click setup

{
  "tool": "issue_agent_credential",
  "arguments": {
    "agent": "my-agent",
    "public_key_pem": "<Ed25519 PEM>",
    "config": {
      "model_id": "provider/model@version",
      "system_prompt_sha256": "<hex>",
      "tools": [
        "search",
        "read_file"
      ],
      "code_version": "v1.2.0"
    },
    "scope": [
      "read:*"
    ],
    "ttl_hours": 24,
    "signature": "<agent key signs the CredentialRequest>"
  }
}

A credential describes a configuration and an accountable owner at a point in time; it is not a guarantee of behaviour.

What are the sources?

Related

Not legal advice. JSON · Markdown · All answers

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.a2ally.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export A2ALLY_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.a2ally.com/v1/licenses/check -H "Authorization: Bearer $A2ALLY_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'