Skip to content

Concepts and glossary

Sill sits between AI agents and your store and answers three questions about every agent interaction: who is visiting (identity), what it is trying to do (intent), and what record remains (proof). This page defines the terms the rest of the docs use.

flowchart LR
  A[AI agent] -->|reads| B[Your agent card]
  A -->|sends a signed order| C[Your guardrails]
  C -->|approve| D[Stripe charges the card]
  C -->|hold| E[You review it]
  E -->|approve| D
  C -->|reject| F[Order refused]
  D --> G[Signed audit record]
  E -->|reject| F
  F --> G

In Discovery mode only the left part happens: Sill identifies the agent and writes a signed record of the visit. There is no order, no policy check and no payment.

Your company’s workspace in Sill. An account holds your sites and your users. Data is stored in the US.

One domain you added to Sill, such as northwind-coffee.example. A site is the unit you install, verify and configure: each site has its own site key, skills, guardrails and audit log. A subdomain such as shop.northwind-coffee.example is a separate site.

The site key (shaped us_…) identifies your site in the install snippet and in the URLs of your agent card and MCP server. It is meant to be public, like a Stripe publishable key.

A site is in one of these states:

StateMeaning
pending_proofAdded, but domain ownership is not verified yet. Sill publishes nothing for it.
discovery_activeVerified. Sill records agent visits and publishes the agent card, MCP server and ARD catalog.
transactional_activeVerified and connected to a store or payment platform for agent orders.
suspendedTurned off by Sill support.

See Sites and onboarding and Domain verification.

Something agents can do on your store. Sill has seven default skills:

SkillWhat it lets an agent do
browse_catalogSearch and browse your products.
check_availabilityCheck stock.
place_orderPlace an order (needs a signed mandate and a payment connection).
order_statusLook up an order.
track_shipmentTrack an order’s shipment.
request_refundAsk for a refund (needs a signed mandate).
recommendGet product recommendations.

A skill is advertised to agents only when something can actually carry it out, such as a connected store. You can also add your own custom skills. See Skills.

A non-human visitor: an AI assistant, an AI crawler or a search bot. Sill keeps a registry of known agents (from Anthropic, OpenAI, Google, Perplexity, Microsoft, Meta and others) and matches each visit against it. Agents do not need a Sill account. To send orders in Transactional mode, an agent registers a public key so Sill can check its signatures. See Identifying agents.

A signed JSON file Sill publishes for each verified site at https://edge.sill.so/v1/agent-card/{site_key}.json. It tells agents who you are, which skills your store offers and where your MCP server is. It is compatible with the A2A agent card format, and anyone can check its signature. See Agent card.

A signed request from an agent to do something on your store, such as place an order up to a set amount. The agent signs it with its registered key, so Sill can tell who sent it and that nobody changed it on the way. Mandates are the core of Transactional mode. See Signed mandates.

Your policy is the set of rules for a site: an ordered list of rules. Each site has one active policy. When you publish changes, Sill saves a new version, and each audit record notes the policy version it was checked against.

A rule is one guardrail, such as “cap any single order at $500” or “only these agents may order”. When a rule fires it does one of three things:

  • Reject — refuse the order.
  • Escalate — hold the order for a person to approve or reject in Held orders.
  • Allow — approve it straight away and skip the remaining rules (an exemption).

Rules run in order; the first rule that fires decides. If none fires, the order is approved. See Policy engine for the rule list.

The signed record Sill writes for every agent visit (Discovery) and every decision on a mandate (Transactional). Records are append-only and chained together, so a removed or altered record is detectable. You can export them as a signed bundle and anyone can verify it. See Audit log and bundle export and Audit envelope.

The decision on a record is one of:

DecisionMeaning
observedAn agent visit (Discovery). No order involved.
approvedThe order passed your guardrails.
rejectedA rule rejected the order.
escalated_approved / escalated_rejectedA rule held the order and a person approved or rejected it.
verification_rejectedThe mandate’s signature or timing was invalid, so it never reached your guardrails.
rejected_post_verifyThe same mandate was sent twice; only the first one counts.
settled_succeeded / settled_refundedA follow-up record when the payment settled, or was refunded.
handoff_pendingA follow-up record when a WooCommerce order was created with a payment link and is waiting for payment.

A person who signs in to your account. Sill uses email sign-in links; there are no passwords.

RoleCan do
ownerEverything, including deleting the account.
adminConfigure sites and manage users.
reviewerSee held orders and all records, but not approve or reject them.
viewerRead only.

A user is invited, active, suspended or deactivated. See Users and roles.

The person or organization an agent acts for, carried inside the mandate: human, organization, or none when the agent acts on its own. Rules that cap spend per customer use it, through a one-way hashed reference rather than the customer’s email or name.

Can two sites in one account have different guardrails? Yes. Each site has its own policy.

Do agents need a Sill account? No. Sill identifies visiting agents itself. Only agents that send signed orders register a public key.

Where do I check a Sill signature? Use the public key set at https://edge.sill.so/.well-known/jwks.json and follow Verify a signature. For exported audit bundles, drop the file on sill.so/verify.