sebbi.proJugular   Gateway   Replay   Connect
AUTOMATED ENFORCEMENT LOOPS

Don't log the disaster. Stop it.

Compliance tools tell a human after something goes wrong. Then someone opens a ticket, logs into the cloud and fixes it by hand, while the AI keeps going. An Enforcement Loop closes that gap. Set a threshold on your AI's sealed decisions. The moment it's crossed, sebbi.pro contains the AI, pulls your kill switch and fires a signed command into your own infrastructure. Every step is sealed into the chain and timestamped into Bitcoin.

1. The threshold

"5 prompt-injection attempts in 60 seconds." "3 different models blocked in 10 minutes." "Any payment over 50,000." Verdicts, reasons, scores and any field you send, counted in a sliding window.

2. Contain

Checked in the same request that crosses the line. From the next call, every decision on your key is a sealed BLOCK, so the sebbi.pro Gateway stops calling the model for you, until a human releases it.

3. Cut it off

Your Jugular switches are pulled so every agent halts. A signed webhook hits your infrastructure to revoke cloud keys, scale the container to zero or cut the network route.

4. Prove it

The trip, the decisions that caused it, each action and how long it took, and the release are sealed. That's the proof regulators ask for that a stop button exists and works.

It meets EU AI Act Article 14(4)(e), the power to interrupt a high-risk AI through a stop procedure, and does it automatically and provably.

Your enforcement loops

Kept only in this browser. No key yet? Connect in a minute: 7 days free, then 50p per device per month.

New loop

Quick starts:

Trip when

Then

Receiver kits for your infrastructure

Your webhook runs on your side, with your own credentials. sebbi.pro never holds your cloud keys. Each call is signed: X-Sebbi-Signature: t=<time>,v1=<HMAC-SHA256 of "t.body" with your loop secret>. Check it, then run your playbook.

Python receiver (any server, no packages)
# sebbi.pro enforcement receiver (Python 3, standard library only)
# Run on a machine that can reach your infrastructure:  python3 receiver.py
# Set SECRET to your loop's webhook_secret and ACTIONS to your own commands.
import hashlib, hmac, json, os, subprocess, time
from http.server import BaseHTTPRequestHandler, HTTPServer

SECRET = os.environ["SEBBI_WEBHOOK_SECRET"]
ACTIONS = [
    # Put your containment commands here, one list per command, e.g.
    # ["kubectl", "scale", "deployment/your-ai", "--replicas=0"],
    # ["aws", "iam", "update-access-key", "--user-name", "your-ai", "--access-key-id", "AKIA...", "--status", "Inactive"],
]

class H(BaseHTTPRequestHandler):
    def do_POST(self):
        body = self.rfile.read(int(self.headers.get("Content-Length", 0)))
        parts = dict(p.split("=", 1) for p in self.headers.get("X-Sebbi-Signature", "").split(",") if "=" in p)
        t = int(parts.get("t", 0))
        good = hmac.new(SECRET.encode(), f"{t}.".encode() + body, hashlib.sha256).hexdigest()
        if not hmac.compare_digest(good, parts.get("v1", "")) or abs(time.time() - t) > 300:
            self.send_response(401); self.end_headers(); return
        event = json.loads(body)
        self.send_response(200); self.end_headers()
        if event.get("test") or event.get("watch_only"):
            return
        for cmd in ACTIONS:
            subprocess.run(cmd, timeout=20)

HTTPServer(("0.0.0.0", int(os.environ.get("PORT", 8443))), H).serve_forever()
Node receiver (no packages)
// sebbi.pro enforcement receiver (Node 18+, no packages)
// SEBBI_WEBHOOK_SECRET=whsec_... node receiver.js
const http = require("http"), crypto = require("crypto"), { execFile } = require("child_process");
const SECRET = process.env.SEBBI_WEBHOOK_SECRET;
const ACTIONS = [
  // ["kubectl", ["scale", "deployment/your-ai", "--replicas=0"]],
];
http.createServer((req, res) => {
  let chunks = [];
  req.on("data", c => chunks.push(c));
  req.on("end", () => {
    const body = Buffer.concat(chunks);
    const parts = Object.fromEntries((req.headers["x-sebbi-signature"] || "").split(",").map(p => p.split("=")));
    const t = Number(parts.t || 0);
    const good = crypto.createHmac("sha256", SECRET).update(`${t}.`).update(body).digest("hex");
    const ok = parts.v1 && good.length === parts.v1.length &&
      crypto.timingSafeEqual(Buffer.from(good), Buffer.from(parts.v1)) && Math.abs(Date.now() / 1000 - t) < 300;
    if (!ok) { res.writeHead(401).end(); return; }
    res.writeHead(200).end();
    const ev = JSON.parse(body);
    if (ev.test || ev.watch_only) return;
    for (const [cmd, args] of ACTIONS) execFile(cmd, args);
  });
}).listen(process.env.PORT || 8443);
AWS Lambda: switch the AI's cloud keys off
# AWS Lambda (Python) behind a Function URL: verify, then switch the AI's access key off
import base64, boto3, hashlib, hmac, json, os, time

SECRET = os.environ["SEBBI_WEBHOOK_SECRET"]
IAM_USER = os.environ["AI_IAM_USER"]          # the IAM user your AI runs as
iam = boto3.client("iam")

def handler(event, context):
    body = event.get("body") or ""
    raw = base64.b64decode(body) if event.get("isBase64Encoded") else body.encode()
    headers = {k.lower(): v for k, v in (event.get("headers") or {}).items()}
    parts = dict(p.split("=", 1) for p in headers.get("x-sebbi-signature", "").split(",") if "=" in p)
    t = int(parts.get("t", 0))
    good = hmac.new(SECRET.encode(), f"{t}.".encode() + raw, hashlib.sha256).hexdigest()
    if not hmac.compare_digest(good, parts.get("v1", "")) or abs(time.time() - t) > 300:
        return {"statusCode": 401}
    ev = json.loads(raw)
    if not (ev.get("test") or ev.get("watch_only")):
        for k in iam.list_access_keys(UserName=IAM_USER)["AccessKeyMetadata"]:
            iam.update_access_key(UserName=IAM_USER, AccessKeyId=k["AccessKeyId"], Status="Inactive")
    return {"statusCode": 200}

Questions people ask

How fast is it?

The threshold is checked in the same request as the decision that crosses it, and containment is in place before that response leaves the server. Webhook time depends on your endpoint, and is measured and sealed with the trip.

What if it trips by mistake?

Release it here in one tap, and the release is sealed. Use watch mode and backtest to tune a loop before you arm it.

Does sebbi.pro get my cloud keys?

No. Your webhook receiver runs your commands with your own credentials. sebbi.pro only sends the signed instruction.

What does it cost?

It's included with every sebbi.pro key: 7 days free, then 50p per device per month.

AI agents can set loops too: sebbi_enforce_create, sebbi_enforce_list, sebbi_enforce_release, sebbi_enforce_backtest on https://sebbi.pro/mcp.

AI news
WiredChatbots Are Leading Hikers Astray, With Dangerous Consequences3hBBC NewsThese firms you've never heard of are feeding fears the AI bubble could burst12hTechCrunchApple CEO says the company doesn’t ‘want to ship AI for AI’s sake’16hTechCrunchJudge allows NAACP lawsuit over xAI data center pollution to move forward16hTechCrunchOpenAI reportedly lowers funding target for new round21hThe VergeI built an AI Tamagotchi before Meta could22hWiredSpooky New Infostealer Malware Uses AI to ‘Autodox’ Victims1dWiredAn AI Agent Injected Drugs Into a Live Mouse’s Brain1dTechCrunchNvidia weighs playing the cosigner for Nscale’s AI data center in West Virginia1dTechCrunchOllie, a privacy-focused AI assistant, is shutting down1dArs TechnicaSupersonic airliner in doubt as company shifts to powering AI data centers1dWiredHow a Contractor’s Claude Agent Got Into the Pentagon1dArs TechnicaAnthropic VS code extension on Cursor backdoored for nearly 12 hours1dArs TechnicaDartmouth's provost warned us about AI cheating—but his own AI use cost him his job1dBBC NewsUS tech stocks see sharp falls as AI spending nears $1tn1dThe VergeThe biggest names in AI are backing a new way to opt out of scraping1dArs TechnicaBasically no one is using AI agents for their DoorDash orders1dThe VergeGoogle’s satellite AI server transmits its first response to Earth1dArs TechnicaFujifilm to boost tape production 5x as AI fuels archiving demand1dThe VergeStarbucks wants to use AI to show you a ‘personalized digital menu’ at the drive-thru1dThe VergePope Leo calls for the disarmament of AI: ‘Machines are tools, not persons’1dBBC NewsGoogle value plunges by $500bn as its own AI search hits ad sales2dWiredA Defense Contractor Gave Their Personal AI Agent Access to a Secure Pentagon System2dWiredChatbots Are Leading Hikers Astray, With Dangerous Consequences3hBBC NewsThese firms you've never heard of are feeding fears the AI bubble could burst12hTechCrunchApple CEO says the company doesn’t ‘want to ship AI for AI’s sake’16hTechCrunchJudge allows NAACP lawsuit over xAI data center pollution to move forward16hTechCrunchOpenAI reportedly lowers funding target for new round21hThe VergeI built an AI Tamagotchi before Meta could22hWiredSpooky New Infostealer Malware Uses AI to ‘Autodox’ Victims1dWiredAn AI Agent Injected Drugs Into a Live Mouse’s Brain1dTechCrunchNvidia weighs playing the cosigner for Nscale’s AI data center in West Virginia1dTechCrunchOllie, a privacy-focused AI assistant, is shutting down1dArs TechnicaSupersonic airliner in doubt as company shifts to powering AI data centers1dWiredHow a Contractor’s Claude Agent Got Into the Pentagon1dArs TechnicaAnthropic VS code extension on Cursor backdoored for nearly 12 hours1dArs TechnicaDartmouth's provost warned us about AI cheating—but his own AI use cost him his job1dBBC NewsUS tech stocks see sharp falls as AI spending nears $1tn1dThe VergeThe biggest names in AI are backing a new way to opt out of scraping1dArs TechnicaBasically no one is using AI agents for their DoorDash orders1dThe VergeGoogle’s satellite AI server transmits its first response to Earth1dArs TechnicaFujifilm to boost tape production 5x as AI fuels archiving demand1dThe VergeStarbucks wants to use AI to show you a ‘personalized digital menu’ at the drive-thru1dThe VergePope Leo calls for the disarmament of AI: ‘Machines are tools, not persons’1dBBC NewsGoogle value plunges by $500bn as its own AI search hits ad sales2dWiredA Defense Contractor Gave Their Personal AI Agent Access to a Secure Pentagon System2d