Skip to content
View Igfray's full-sized avatar

Block or report Igfray

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
igfray/README.md

Isaac Teague Frayling

I build infrastructure for AI agents that use tools, handle customer data, and spend credits. PANTHEON combines tenant isolation, spending controls, and approval gates; these repositories expose individual components for inspection and reuse.

It runs in production at pantheonlabs.info, and the write-up — with a live, attackable assistant — is at pantheonlabs.co.uk.

Each repo is one component extracted from it, with its behaviour and its limits written down:

Repo Documented behaviour and limits
🧪 ingress security pantheon-tool-sanitizer strips tool-protocol markup + Unicode/Tags-block smuggling from untrusted MCP tool text (covert channels — not semantic injection)
🛡️ egress security pantheon-ssrf-guard an SSRF egress guard that survives DNS rebinding — re-checks the peer at connect time
🔒 isolation pantheon-rls force-RLS tenant isolation — the database itself refuses cross-tenant access, fail-closed
💰 money path pantheon-credit-ledger overdraft-proof, exactly-once credit metering over Postgres
📅 domain sync pantheon-ical round-trip iCal (RFC 5545) read and write for booking calendars
⚖️ agent governance pantheon-guardrails a constitution scorer that only spends an LLM judge on high-stakes replies, and supports a separate judging model, so the generator is not asked to mark its own work

All Apache-2.0, tested, pip install-able — and small enough to read before you install (most are a single file; the largest is ~400 lines).

Away from the substrate, three small npm packages for drawing in a terminal — braillecanvas (a 24-bit-colour braille framebuffer, 2×4 dots per cell), skymaths (positional astronomy: Sun, Moon, planets, precession), and starwheel (a live planisphere for your location and clock, built on both — its only dependency) — plus terrafirma, a GNOME Shell extension that puts the real sky over your wallpaper.

Don't trust the claims — verify the live ones, then let's talk.

📍 Cardiff, UK · self-hosted on Linux · ✉️ isaac@pantheonlabs.co.uk

Pinned Loading

  1. pantheon-rls pantheon-rls Public

    Tenant isolation as a Postgres guarantee — force-RLS + least-privilege grants, as reusable SQL.

    Python

  2. pantheon-tool-sanitizer pantheon-tool-sanitizer Public

    Strip tool-protocol markup + Unicode smuggling (invisible/bidi/Tags-block) from untrusted MCP/LLM tool text. Covert-channel control, not a semantic-injection defence.

    Python

  3. pantheon-credit-ledger pantheon-credit-ledger Public

    Atomic, overdraft-proof, idempotent credit metering over Postgres.

    Python 1

  4. pantheon-ssrf-guard pantheon-ssrf-guard Public

    Two-layer SSRF egress guard for Python's stdlib HTTP that survives DNS rebinding.

    Python

  5. pantheon-ical pantheon-ical Public

    Round-trip iCal (RFC 5545) read + write for booking/availability calendars, in <200 lines.

    Python

  6. pantheon-guardrails pantheon-guardrails Public

    Conditional constitution scoring, PII redaction and crisis detection for LLM agents. Extracted from a private production system.

    Python