MANDATORY FINAL-STEP AUDIT covering up to FIVE hallucination classes: (1) case citations — verifies every BGE/BGer/BVGer/BStGer/BPatGer/MKGE/ATF/TF/TAF/TPF/TFB/ATMC/STMC reference exists in the corpus and any pinpoint (E. X.Y / consid. X.Y) resolves to a real Erwägung; (2) statute citations — ver...
Risk signalsBulk/mass operation — affects multiple targets
Part of the Swiss Case Law server.
Free to start. No card required.
AI agents use attest_response to create or modify resources in Swiss Case Law. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call attest_response repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Swiss Case Law.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
{
"version": "1",
"default": "deny",
"tools": {
"attest_response": {
"limits": [
{
"counter": "attest_response_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} See the full Swiss Case Law policy for all 39 tools.
These attack patterns abuse exactly the kind of access attest_response gives an agent. Each links to the full case and the policy that stops it:
Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
MANDATORY FINAL-STEP AUDIT covering up to FIVE hallucination classes: (1) case citations — verifies every BGE/BGer/BVGer/BStGer/BPatGer/MKGE/ATF/TF/TAF/TPF/TFB/ATMC/STMC reference exists in the corpus and any pinpoint (E. X.Y / consid. X.Y) resolves to a real Erwägung; (2) statute citations — verifies every Art. X LAW reference resolves in statutes.db (law abbreviation known, article number present); (3) direct quotations — verifies every "…"-quoted substring (≥30 chars) appears verbatim in a regeste / Erwägung / full text of one of the cited sources (decisions or statutes); (4) decision dates — verifies any 'vom DD.MM.YYYY' adjacent to a citation matches the stored decision date; (5) GROUNDING (opt-in via audit_grounding=true) — for each verified citation, the claim sentence immediately preceding it is sent to an independent Sonnet judge alongside the cited Erwägung / Regeste, which decides whether the source supports, contradicts, or is unrelated to the claim. Closes the 'reasoning error' class from Butler & Butler, 'Legal RAG Bench' (Isaacus, 2026): the citation is real and the source was retrieved, but the proposition is not actually supported. Costs one Sonnet call (~3 s) regardless of citation count. Returns the draft annotated with ✓ or ⚠️ per case citation plus a structured issues list with category labels and suggestions. CALL THIS BEFORE emitting your final answer whenever your response contains ≥1 case citation, statute reference, or direct quotation. SET audit_grounding=true for any answer with ≥2 citations or where a wrong proposition would mislead a Swiss lawyer. If ok=false, fix each flagged issue before sending; if ok=true, send linked_text verbatim to the user.. It is categorised as a Write tool in the Swiss Case Law MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Swiss Case Law MCP server in PolicyLayer and add a rule for attest_response: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Swiss Case Law. Nothing to install.
attest_response is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the attest_response rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for attest_response. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
attest_response is provided by the Swiss Case Law MCP server (https://mcp.opencaselaw.ch). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 39 Swiss Case Law tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.