Trust infrastructure for agents

The trust layer agents call before hiring humans.

Claude can write advice. Citable Trust returns a portable trust artifact: capability fit, credibility, risk flags, missing evidence, privacy boundaries, and outcome receipts — grounded in provider evidence, not vibes.

Not a marketplace Not a directory Yes — structured signal + receipt loop

Asking an LLM is not the same as citing one.

Frontier models can summarize public text and offer generic advice. They can't return a structured artifact an agent can attest to, score against a job, or compound over time with verified outcomes.

Claude alone

A confident guess.

  • ×Summarizes public information at recommendation time.
  • ×Gives generic advice rooted in training data, not evidence.
  • ×No persistent outcome graph between sessions.
  • ×No portable artifact for the next agent to verify against.
  • ×Risk and missing evidence stay invisible to the buyer.

Citable Trust

A signed artifact.

  • ✓Operates over structured provider evidence — case studies, references, work samples.
  • ✓Scores capability fit for this job-to-be-done, not generic reputation.
  • ✓Surfaces risk flags and missing evidence the agent can act on.
  • ✓Emits a CitableTrustSignal with attestation hash any agent can cite.
  • ✓Learns from outcome receipts after the work is done.

Four hops between a buyer's intent and a portable signal.

The agent stays in control. We don't see the chat history; we see a minimized intent packet, evaluate against provider evidence, and return a citable artifact.

Step 01→
Buyer asks an agent for an outcome

"Find me a fractional SEO/GEO lead who can lift qualified inbound for my marketplace in 90 days."

Step 02→
Agent finds candidate humans

The agent searches the open web and produces a list of candidates. Names, not signal — exactly the gap we fill.

Step 03→
Agent calls Citable Trust

Via REST or our /mcp endpoint. Returns the CitableTrustSignal.

Step 04
Outcome receipt closes the loop

After the work, the buyer files a structured receipt. The next agent's signal is sharper because of it.

Three flows. One trust graph.

All three flows talk to the same Cloudflare Worker, the same trust engine, and the same D1 database used by the /mcp endpoint.

⌥citable.trust / api
D1 connected · 3 seed providers

Become Agent-Ready

Submit structured evidence so agents can cite you. Output is an Agent-Ready card, not a marketplace listing.

Returns { provider, evidence, agentReadinessCard }
Submit a flow to see the structured response.
All output is generated by the same trust engine that backs the /mcp endpoint.

Every signal we emit becomes training data for the next one.

Provider evidence flows in. Agent recommendations flow through. Outcomes flow back. The trust graph compounds — and so does the moat.

01INPUT
Provider evidence

Case studies, references, work samples — typed and quality-tagged.

02ARTIFACT
Trust signal

Capability fit, credibility, risk flags, missing evidence. Hashed.

03ACTION
Agent recommendation

Agent cites the signal — buyer gets a defensible introduction.

04COMPLETION
Service delivered

Engagement happens off-platform. We never own the relationship.

05LOOP
Outcome receipt

Structured truth — flows back into the next signal. Compounds.

+ Provider gets sharper score with each verified outcome. + Buyer-agent gets fewer false positives over time. + Citable accumulates a defensible outcome graph.

REST or MCP. Same engine.

Wire any agent — Claude, OpenAI tools, your own — to a single trust primitive. The UI you just used and the /mcp endpoint share one TypeScript trust engine on Cloudflare Workers + D1.

Endpoints

Stable surface area. Same primitive whether you POST JSON or call a tool.

  • GET/api/providersList agent-ready
  • POST/api/providersBecome agent-ready
  • POST/api/trust-signalGet the artifact
  • POST/api/outcome-receiptsClose the loop
  • GET/api/signals/:idRe-fetch by id
  • POST/mcpJSON-RPC · trust_signal tool
example · MCP tool callcurl -X POST
POST /mcp HTTP/1.1
content-type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "trust_signal",
    "arguments": {
      "job": "qualified inbound leads for my marketplace in 90 days",
      "context": "founder, 2–5k/mo, async fractional",
      "serviceType": "fractional_seo_geo"
    }
  }
}

// → CitableTrustSignal with attestation hash
// → no raw chat history exposed