One endpoint that cites every row.
Point your agent or your product at the gateway. Results carry source URL, publisher and licence; reports carry a receipt you can verify later. The contracts are published and versioned, and your data leaves with you.
# any MCP client url https://gateway.ansvar.eu/mcp auth OAuth 2.1, dynamic client registration ask "Using Ansvar, which DORA articles apply to ICT third-party risk?" returns rows · source_url · publisher · license · receipt
What a row promises, and what a report promises.
Two published contracts, both versioned. Break either and the gateway fails closed rather than serving a thinner answer.
Serving contract
Every served row carries a citation triple: the original publisher's URL, the publisher, and a licence code from the published catalogue. A lookup hint on a search row re-fetches the same row with the same triple. Rows that cannot carry the triple are withheld with a visible reason.
Read the contract in the docs"_citation": {
"source_url": "https://data.europa.eu/eli/reg/2016/679/oj",
"publisher": "Publications Office of the European Union",
"license": "EUR-Lex-Decision-2011-833",
"lookup": { "tool": "get_provision",
"args": { "source_id": "eu-regulations",
"canonical_ref": "GDPR:art_17" } }
}Delivery receipt
Every report response carries a server-authored receipt: the executive summary verbatim, integrity metrics computed or marked unsupported, every attention item uncapped, artifact links. Your agent relays it unchanged, so what the reader sees is what the server produced.
See it on an assessmentVerification contract
Send back the references a draft relies on and verify_citations re-retrieves each one under your own scope, checks the producer-declared identity of the row it got, and compares your quotation with the body. One verdict per subject — quote_checked and reference_resolved for the two ways a subject can hold, then quote_mismatch, no_quotation_submitted, identity_mismatch, identity_absent, reference_unparseable, not_served, withheld and unavailable — and coverage is advertised rather than assumed, so a subject the identity seam does not cover refuses instead of passing. Available on every plan; signed attestations from Premium.
verify_citations(subjects=[
{ "subject_id": "s1",
"source_id": "eu-regulations",
"reference": "GDPR:art_17",
"quotation": "The data subject shall have
the right to obtain ..." }
])
-> { "subject_id": "s1", "verdict": "quote_checked" }- Query receipt
- What was served. On Company: a signed, tamper-evident record of what was asked, what came back and when — read it with
get_receipt, list withlist_receipts, check it withverify_receipt. - Delivery receipt
- What the reader was handed. The block above: server-authored, relayed unchanged with a report, so the summary, the metrics and the attention items cannot be trimmed on the way to a person.
- Audit ledger
- What an auditor can verify without us. On Company: per-tenant receipts in a cryptographic ledger, exported as an offline-verifiable package and decrypted client-side with your own key.
Agents on seats, credentials you rotate.
Service credentials
From Premium, create org-owned credentials for n8n, CI jobs and scheduled monitors. Each takes a seat with the same tool surface as a signed-in person. Rotate and revoke any time; revoking works on every plan.
Published limits
Calls per day, concurrency and requests per minute are published per plan. A refusal returns your usage, the reset time and the upgrade path in a shape your agent can act on.
Skills and connectors
Compiled, checksummed workflow skills for Claude, Copilot and Cursor; the Microsoft 365 agent; the Gemini CLI extension. Every example question leads with Using Ansvar.
Export guarantee
Audit packages, OpenVEX, git-native ISMS, a local architecture workspace. What you built on Ansvar leaves with you.
Automate internally, deliver to clients, or embed in what you sell.
Three different permissions, and the difference matters before you plan a dependency. The terms are the authority; this is the short read.
- Internal automation
- Included in your plan. Your own agents, CI jobs and monitors call the gateway for your own business. Seats and credentials are the only thing to size.
- Client work
- Included, within section 8a. You may produce deliverables for your clients on your own responsibility. What you may not do is hand a client the content itself — a feed, an extract series or a recurring compilation.
- Embedding and reselling
- By written agreement. Putting Ansvar inside a product you sell, or giving third parties outputs on demand, needs a partner agreement first. Ask before you build the dependency, not after.
What it looks like under someone else’s agent.
A European legal-expenses insurer is evaluating Ansvar underneath its own copilot. The shape below is measured from the gateway’s own telemetry over thirty days, not from a questionnaire.
They kept their stack. We are the layer underneath.
Two channels, both on service credentials: an agent built in Microsoft Copilot Studio on the insurer’s own Power Platform identity, and the team’s own Python harness. Neither runs on our interface, and neither sends us a model.
The workload is national law and case law — court decisions, disciplinary rulings, statutes and the preparatory works behind them. About half the calls are exact-reference lookups of a named article or decision; the other half are searches that fan out across the jurisdiction. Legislative history arrives inside those searches rather than through a lookup of its own.
In thirty days neither channel hit a quota, a rate limit or a licence refusal, including one unattended run of roughly a thousand calls inside an hour. Where a decision corpus was withdrawn pending a privacy assessment, the questions that needed it came back empty and said so, rather than being filled in from somewhere else — visible in their logs as it happened.
The limits that run underneath itThe part that never stops: keeping the sources true.
Retrieval is a weekend. What follows is the standing cost, and it is the work Ansvar takes off your roadmap.
Source integrations
Every publisher has its own site, its own bulk feed, its own quirks — and changes them without telling you. We hold the fetchers and the parsers.
Licensing and provenance
Each source is cleared for commercial reuse before a single fetch, and every served row carries its publisher, URL and licence code.
Coverage and freshness
What is in force, what changed, when each corpus was last refreshed — tracked per source, with the age published rather than assumed.
Verification machinery
Citation round-trips, content hashes, withheld-row reasons, refusals that say why. The plumbing that makes an answer checkable.
Seats, credentials, runs. Nothing metered in the dark.
An agent is a seat like a person is a seat, and every limit that shapes the bill is published.
- Premium, per seat
- Each holder is a seat, person or agent, with the same tools and concurrency. Runs past the monthly allowance are never billed — the ceiling refuses instead.
- Team, per workspace
- One price covers three contributors, their pooled quota and five service credentials. Extra credentials take extra seats.
- The runs
- Team's pooled assessment allowance is the only metered line: past it a run is priced, and the hard stop refuses rather than billing on.
Worked totals for a busy workspace, and every quota the gateway enforces, are on pricing and limits.
Connect in two minutes.
Free for businesses. OAuth in the client you already run.