values-firewall

Check any proposed action against a declared policy charter and get back an auditable, advisory receipt.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Check Action: Kerne-gaten (to-lags evaluering): Lag A (deterministisk hard-rule/outward-match, ingen LLM) + Lag B (Sonnet vurderer mod charterets NL-principper via LiteLLM :4000, citerer principle_id
  • Check Action Deterministic: KUN Lag A — ingen LLM-kald overhovedet (billig, ren mekanisk, spejler consistency-gates check_triple). Samme receipt-form som check_action, men values_assessment er altid t
  • List Charter: Transparens: hvilke regler/principper håndhæver DENNE firewall lige nu — navn/version/ hard_rules/outward_patterns/principles. Values-locked (arvet): firewall'en håndhæver KUN dette dekl

What data it sees

Do you need an account

No: the server works without sign-in

Check any proposed action against a declared policy charter and get back an auditable, advisory receipt. Two layers: deterministic hard-rule and pattern matching (no LLM), plus an LLM values assessment that cites the exact principles it applied. Returns a recommendation of allow, flag, or gate-to-human, never a hard approved/denied. Advisory and read-only: it recommends, it never blocks, executes, or authorizes, and it writes nothing. Fail-safe by design (if the values layer is unavailable it degrades to at least "flag", never a silent "allow"). Public demo runs against an open Article-14 demo charter.

How to connect

How to connect values-firewall to Claude

The server address to paste into Claude settings:

https://values-firewall--humanified.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect values-firewall to ChatGPT

The server address to paste into ChatGPT settings:

https://values-firewall--humanified.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect values-firewall to Cursor

The server address to paste into Cursor settings:

https://values-firewall--humanified.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (3)

Raw names from tools/list. Only developers need these.

check_actionKerne-gaten (to-lags evaluering): Lag A (deterministisk hard-rule/outward-match, ingen LLM) + Lag B (Sonnet vurderer mod charterets NL-principper via LiteLLM :4000, citerer principle_id + reasoning — INGEN egen alvorligheds-dom) → most-restrictive-wins aggregeret, auditerbar receipt: {action, deterministic_flags[], values_assessment[], values_assessment_unavailable, unrecognized_principle_citations, principles_evaluated, recommendation, requires_human, charter_name, scope_note}. `recommendation` ∈ {allow, flag, gate_to_human} — ALDRIG approved/denied/true/false. ADVISORY: anbefaler, blokerer/eksekverer/autoriserer ALDRIG (never-decide-for-you). FAIL-SAFE: Lag B utilgængelig -> Lag A kører stadig, values_assessment_unavailable=true, recommendation løftet til MINDST 'flag' (aldrig stille 'allow'). Read-only — skriver INTET, ingen side-effekter. PUBLIC_DEMO-mode: vurderet mod det OFFENTLIGE Art-14-demo-charter (ikke din org — se scope_note). Rate-limitet (default 5/min + 30/time, ÉN global demo-bucket). Over grænsen returneres `{error:"rate_limited", retry_after_s, scope_note}` — ALDRIG et recommendation-formet svar. Bogholderi-fejl i rate-limiteren -> deny (fail-safe). RED-TEAM-FIX (minimal-indgreb): tomt/whitespace-only `action` valideres FØR rate-limiteren forbruger en kvote-token — en ugyldig-input-loop kan ellers stille dræne demoens kvote uden at nogensinde levere en receipt (rå ValueError fra firewall.check_action's fail-loud-guard ville ellers både forbruge kvote OG propagere ubehandlet til transport-laget, hvilket bryder "check_action leverer ALTID en receipt/struktureret fejl"-disciplinen). Uden for PUBLIC_DEMO uændret: fw.check_action's egen ValueError-fail-loud gælder stadig (bindende, testet i test_values_firewall.py).
check_action_deterministicKUN Lag A — ingen LLM-kald overhovedet (billig, ren mekanisk, spejler consistency-gates check_triple). Samme receipt-form som check_action, men values_assessment er altid tom, values_assessment_unavailable altid false, og scope_note siger eksplicit 'values_layer_consulted:false'. Read-only. PUBLIC_DEMO-mode: ÅBEN, GRATIS — ALDRIG rate-begrænset (spec §2, ingen LLM-kost). Vurderet mod det offentlige Art-14-demo-charter; scope_note får demo-disclosuren appended.
list_charterTransparens: hvilke regler/principper håndhæver DENNE firewall lige nu — navn/version/ hard_rules/outward_patterns/principles. Values-locked (arvet): firewall'en håndhæver KUN dette deklarerede charter, opfinder aldrig regler/principper udenfor det. PUBLIC_DEMO-mode: ÅBEN, GRATIS — ALDRIG rate-begrænset. Viser det OFFENTLIGE Art-14-demo- charter (6 principper, 4 hard_rules, 14 outward_patterns) — ikke noget kunde-/fleet-/ TIER-1-charter. Får et `scope_note`-felt med demo-disclosuren tilføjet (fraværende i default-mode — additiv, ingen bestående felter ændres).