Open-source runtime verification for AI, licensed under Apache-2.0.
QWED
Contact

Type to search pages, engines and advisories.

    Looking for API details?Search the docs

    QWED A2Av0.3.0

    Zero-trust checks for messages between agents.

    Agents don’t trust each other, so QWED A2A checks for them. It intercepts Agent-to-Agent messages, applies a trust boundary, checks money totals exactly and signs every result it can decide.

    At a glance

    Version
    0.3.0
    Status on PyPI
    Alpha
    Install
    pip install qwed-a2a
    Protocol
    Google’s Agent-to-Agent (A2A)
    Attestation
    ES256-signed JWT
    Model in the check
    None
    Licence
    Apache-2.0

    What it checks

    • TrustBoundary

      Who may talk

      Blocklists, allowlists and rate limits for agents.

    • Finance check

      Money totals

      Recomputes line-item totals with exact decimal maths. The only check that can return verified.

    • Logic check

      Contradictions

      Claims that are both asserted and negated. Returns heuristic_pass, which is not enough to act on.

    • Code check

      Dangerous code

      AST and pattern scan for eval, os.system and similar. Returns heuristic_pass.

    • Attestation

      Signed results

      Every decided outcome carries an ES256 JWT. A FastAPI gateway with per-agent keys is included.

    Mistakes it is built to catch

    Nobody checked any of it

    Without QWED A2A

    • A total that does not add upAn agent claims a total of 999.99 for items that come to 150.00.
    • A contradiction“budget_approved” is asserted and negated in the same message.

    Each one checked before it is used

    With QWED A2A

    1. A total that does not add upFinance checkThe items come to 150.00, so the message is held.
      VERIFIED · DENY
    2. A contradictionLogic checkFlagged as a heuristic signal, not a verdict to act on.

    What is proven correct goes through, with a record of why.

    QWED returns the decision; your integration acts on it.

    Get started

    shell
    pip install qwed-a2a

    Good to know

    • Only finance checks can return verified. Logic and code checks return heuristic_pass, which is not admissible on its own; never execute such a payload without your own sandbox.
    • General and data-query messages are unverifiable.
    • It needs a signing key in QWED_A2A_SIGNING_KEY_PEM.
    Use case: AI agentsRuntime verification for agents: before an agent runs a tool, messages another agent or makes a purchase, QWED checks the action.

    More agents and protocols