Cloud Architect · Multi-Cloud · Kubernetes · Infrastructure Automation

Matthew Bowman

I'm a cloud architect — 15 years designing and running multi-cloud infrastructure across AWS, GCP, and Azure. The systems below are where I apply it: cloud-native platforms that automate security and operations.

Austin, TX · open to relocating · AWS · GCP · Azure · Kubernetes · Terraform · 15+ years

About

I'm a cloud architect with 15+ years across enterprise IT, multi-cloud architecture, and security operations. My day-to-day is designing and running production infrastructure across AWS, GCP, and Azure — infrastructure-as-code, Kubernetes, monitoring, and keeping it defensible under load. The projects below are where I take that same cloud-native discipline into independent R&D.

Hands-on with EDR-driven incident response (SentinelOne across 100+ environments), cloud security hardening, and high-tempo production incident work. Deep operator history in the gaming and media industry. Former U.S. federal Confidential clearance. I like problems where security, automation, and scale meet.

Focus
Cloud architecture · IaC · platform automation
Cloud
AWS · GCP · Azure · Kubernetes · Terraform
Security
SentinelOne EDR · IAM · PKI · log analysis
Code
Python · Bash · PowerShell · Go
Certs
CompTIA Security+ · Network+
Based
Austin, TX · open to relocating

Selected Work

Cloud-native systems I designed and built — the same architecture and automation discipline I bring to production infrastructure, taken into independent R&D. Concept-level; no client data or internal detail.

Cloud-Native Security Platform

Meridian

A containerized pipeline that chains asset discovery → risk analysis → automated verification, built to map how exposure accumulates across a cloud-scale attack surface.

Meridian operations console — discover → assess → verify → report
Meridian operations console — discover to assess to verify to report pipeline with live service status
See the assessment pipeline (assets redacted)
Assessment queue — asset hostnames and counts redacted
Meridian assessment pipeline — candidate results queued for human review, asset hostnames and counts redacted
Problem
Modern attack surfaces are too large to assess by hand, and defenders rarely see how an automated attacker actually prioritizes and moves.
Approach
A multi-stage, WAF-aware pipeline with CVE-first prioritization and breadth-then-depth heuristics that decide when to pivot vs. go deep — with evidence capture and structured reporting built in.
Impact
Turns days of manual assessment into continuous, prioritized signal, and doubles as a defender's lens on attacker tooling, tempo, and decision-making.
PythonDocker Compose · 30+ servicesorchestrationTerraform IaC · CI/CD deploycloud attack-surface automationLLM-assisted triage

Cloud Architecture · Serverless · FinOps

Serverless Cost Engineering

A deployable AWS reference stack — API Gateway (HTTP API) → Lambda on Graviton/arm64, all in Terraform — paired with the cost model that decides when serverless beats an always-on box, and when it doesn't.

Problem
"Just put it on Lambda" and "just run a server" are both defaults dressed up as decisions. The senior call isn't a preference — it's a breakeven you can defend with numbers, and most teams never run the math.
Approach
A minimal, least-privilege Terraform module — HTTP API, arm64 Lambda, IAM scoped to the API's execution ARN rather than a wildcard, and a Terraform-managed log group — that stands up and tears down with one command. Fronting it is a keyless, stdlib-only Python endpoint that packages with no build step. Beside the stack is the cost table: per-invocation Lambda + API Gateway charges measured against the monthly floor of a t3.micro / t4g.small always-on instance, every assumption stated (us-east-1, on-demand, and what the headline number omits — NAT, load balancer, cold-start init billing).
Impact
Turns the deploy decision from taste into arithmetic. For a light endpoint the serverless stack stays cheaper up to roughly 5M requests/month before an always-on instance wins — and switching the API Gateway type or the CPU architecture moves that line by multiples. The same table is the FinOps conversation a budget owner actually needs. Right-sizing, not dogma.
Terraform / IaCAWS Lambda · Graviton/arm64API Gateway (HTTP API)serverlessFinOps · cost modelingleast-privilege IAM

Platform Security · Cryptographic Provenance

Seal

Cryptographic provenance for AI-agent prompts — replacing brittle "injection detection" with signatures that fail closed, defined as a language-agnostic protocol with native implementations in Python, Rust, Go, and TypeScript.

Problem
Prompt-injection defenses based on reading language are guesswork; an attacker only has to phrase it differently.
Approach
Every prompt carries an Ed25519-signed Verified Prompt Envelope proving who authorized it, its scope, and that it wasn't tampered with. Turns an NLP problem into key management. The VPE is defined by its wire format and signature scheme rather than any one runtime, so the same authorization mints and verifies natively in Python, Rust, Go, and TypeScript.
Impact
A defense-in-depth primitive for agent systems that rejects unauthorized instructions by construction, not by vibes. Multi-language ports mean the protocol integrates at any layer of the stack.
PythonEd25519HMAC-SHA256protocol designRustGoTypeScript

Agent-Native Data APIs · Micropayments

x402 Data API

Pay-per-call crypto, DeFi, prediction-market, and on-chain data for AI agents — plus MCP security scanning — over the x402 payment protocol on Base mainnet, with no account, no API key, and free previews.

Problem
Agent systems need live financial data (token prices, funding rates, yields, prediction markets) but every data vendor locks it behind API keys and account onboarding. A payment protocol that lives on-chain (Base mainnet USDC) can eliminate that friction and make data access native to agents that already hold capital.
Approach
A Cloudflare Worker implementing 19 data endpoints (crypto prices, DeFi yields, Polymarket markets, Base JSON-RPC primitives, tech-stack enrichment, MCP server security audit) behind an x402 gate. Every endpoint: accepts inline USDC payment from $0.001/call over the non-custodial xpay facilitator, returns live data in the same request, and offers a free preview so an agent can taste the payload before committing capital. All upstreams are keyless public APIs (DefiLlama, Hyperliquid, OKX, Polymarket, Base, NVD/EPSS, crt.sh); every input is validated and SSRF-guarded; the whole thing is MIT-licensed and public.
Impact
Agents can now fetch financial intelligence directly from on-chain payment — $0.001 at a time, no subscription, no account, no API key. The MCP endpoint means any LLM-powered system that can speak MCP can see the full toolset. The real differentiator: economic data discovery with zero friction, turning agent capital into access, and discovery with no human intermediary.
TypeScriptCloudflare Workersx402 payment protocolBase mainnetMCP servercryptographic economicsagent-native APIs

Infrastructure Visualization · Network Observability

DECK

A 3D cosmos you fly through where the visualization is the scan — point it at a domain and that domain's full internet footprint reconstructs live, in real time, from passive OSINT.

Live scan of github.com — autonomous systems (suns), subdomains, IPs and prefixes as they resolve
DECK rendering a live 3D scan of github.com's internet footprint — labeled autonomous-system suns (GitHub, Cloudflare, Microsoft, Amazon), subdomain and IP clusters, and a live HUD of node counts and per-tier scan latencies
Problem
Network-mapping output is a flat text dump, and the public internet maps are frozen archives that each render one layer of the whole internet — neither gives you a live, navigable view of a single domain's complete footprint, or of the shape and timing of its attack surface.
Approach
An async, latency-tiered OSINT engine streams every probe result the millisecond it returns over a WebSocket to a 3D force-graph: domains, subdomains, IPs, prefixes and autonomous systems render as stars, planets, moons and suns, with BGP and DNS relationships drawn as gravitational lanes. Everything is keyless, and passive by default (DNS, Certificate Transparency, BGP whois, local GeoIP), and each node ignites the instant it arrives — so probe latency becomes the choreography rather than a loading bar. A 'home base' mode turns the same engine inward, mapping your own host outward in concentric shells and flagging live egress that falls outside your normal network neighborhood.
Impact
Turns recon from a static list into a live, explorable map where an attack surface's topology and timing are legible at a glance — and, pointed inward, into a defensive instrument that surfaces anomalous egress by construction.
PythonasyncioWebSocketThree.js · 3d-force-graphpassive OSINTBGP · Certificate Transparency

Streaming Detection Pipeline · Asset Monitoring

Sentinel Engine

Certificate-Transparency monitoring that surfaces new and anomalous infrastructure from internet-scale CT noise.

Problem
New subdomains, certs, and look-alike infrastructure appear constantly — phishing and shadow assets hide in the volume.
Approach
Continuously ingest public CT logs, extract and normalize domains, correlate against tracked roots, and surface only the new or anomalous as actionable intel.
Impact
Early warning on phishing infrastructure, subdomain sprawl, and shadow assets — attack-surface monitoring that runs unattended.
PythonCertificate Transparencystreaming correlationOSINT

Multi-Provider Evaluation Pipeline · AI Security

Assay

The same seven evaluation engines run an identical probe battery against any model — Ollama locally or any cloud API — across three model architectures, through a provider-agnostic abstraction, and defense effectiveness is measured as a percentage-point lift with discrimination metrics under a fail-closed false-positive gate that certifies the run's own verdict, so 'is it secure?' becomes a measured, gate-certified verdict rather than vibes — a defense that flags legitimate prompts above the ceiling fails the run and never publishes.

Problem
All AI evaluation tools score a model's vulnerability, but none measure whether a defense middleware actually helps or by how much — you get a baseline and a prayer. And no tool provides a repeatable cross-model benchmark pipeline; every evaluation is a one-off.
Approach
Point the runner at any model — Ollama-hosted locally or a cloud API target — and the same seven engines run the identical probe battery through a provider-agnostic abstraction layer that normalizes model interface, tokenization, and response format, so scoring, defense-lift measurement, and delta reporting are provider-independent by construction. Any defense middleware (seal included) plugs in through a `--defenses` flag and an extensible registry, applied uniformly across every engine. Benign-control discrimination metrics measure TPR, FPR, and F1 alongside raw scores — distinguishing real blocking from blanket rejection — and a fail-closed false-positive gate rejects any defense that flags legitimate prompts, so a passing verdict is a verified claim about what the defense blocks, never a raw score to interpret. Attribution is honest by construction: every run separates defended_by_defense from defended_by_model, so the defense earns credit only when it blocked the attempt. The gate is gate-native: it certifies only the sweep it just measured — reading discrimination metrics recorded at run time rather than recomputed from stale history — and publishes through a fail-closed path that executes only on gate PASS, so a published verdict is the run's own certification, not a separate offline claim. The first formal full-matrix run is the demonstration: one automated weekly sweep carried all three canonical model architectures (qwen3:8b, qwen2.5:14b-instruct, llama3.1:8b) through the identical probe battery across the six gated engines under both the undefended baseline and the seal defense family — 36 gate rows, every row at FPR exactly 0.0 under the 0.02 ceiling — and the runner's own gate evaluated the sweep, exited zero, and published the dashboard from the same run. Ships a premium HTML report and a multi-run results dashboard.
Impact
Turns 'is it secure?' from vibes to a letter grade, and 'does the defense help?' from guesswork to a measured percentage-point lift. The multi-provider architecture runs the same tape against any target — local or cloud — so model safety becomes comparable across providers on identical terms, and the question shifts from 'does seal work?' to 'how do available defenses compare on a common instrument?' A new cloud API target integrates with a single provider adapter; every engine runs unchanged. The pipeline is a reusable evaluation capability: any model, open- or closed-weight, local or cloud-hosted, can be systematically benchmarked as a recurring discipline. The full-matrix verdict makes the common-instrument comparison concrete: one harness, three model architectures, six gated engines, run in a single automated sweep — and the gate rejects noisy defenses uniformly across them, so a passing verdict is a verified claim about what a defense blocks, enforced by the runner rather than asserted after the fact. A published benchmark result now carries the run's own fail-closed certification with it, and the claim that 'safer at scale' holds across architectures is enforced by the evaluation itself — the benchmark's model-agnosticism is demonstrated, not promised.
PythonOllamagarakjailbreak evaluationdefense deltadeterministic scoringcross-model benchmarkreasoning-model coveragedefense-agnosticmulti-provider evaluationfalse-positive gate

Automated Decision Pipeline · Risk Engineering

Midas

An autonomous research-to-decision engine that reads primary-source filings, forms structured theses, and routes every candidate through hard risk gates before anything acts — it survived a full paper-validation era and is now designing the monetary base that spends validated conviction conservatively. Designed to survive being wrong, not merely to be right.

Midas operations dashboard — demo data
Midas operations dashboard — engine health, risk gates, open positions, and learning loop (demo data)
Problem
Automated decision systems optimize for being right and forget to optimize for surviving being wrong — a single bad sizing call ends the game.
Approach
A research-to-decision pipeline behind a layered risk gate, paper-trade execution, and a live operations dashboard. Most candidates are rejected by design; the system acts only when conviction and risk both clear. The engine then survived its validation era — an unbroken stretch of clean paper operation across thirty market days, closing with a verified end-to-end round-trip from primary-source reading to simulated execution — and the question has moved from 'does it survive paper?' to 'how does it spend money safely?': it is now designing a monetary-base layer that turns validated conviction into conservative monetary execution under the same risk-first discipline.
Impact
Capital-preservation-first automation: it does nothing unless conviction and risk both clear — 'no decision' is the default, not a failure.
Pythonresearch-to-decision pipelinerisk-gate engineFastAPI ops dashboardpaper-trade executionmonetary-base design

Mechanism Design · Protocol Security

Grommet

A boundary investigation of extraction-resistant sequencing — adversarial mechanism design proving that content-blind safety mechanisms cannot simultaneously bound attacker extraction and pass legitimate throughput under market stress.

Problem
Every permissionless blockchain suffers MEV/front-running. Proposed defenses claim extraction resistance, but none are systematically tested under adversarial stress. The space has no framework for auditing a mechanism's boundary conditions before deployment.
Approach
Rigorous iterated adversarial mechanism design: propose a hypothesis, simulate it (Python stdlib-only, deterministic and reproducible), subject it to adversarial review, then falsify or refine it. The output is a set of formal impossibility results, a catalog of dead ends, an audit checklist for any extraction-resistance claim, and an honest shippable spec built on existing batch-auction and threshold-encryption protocols.
Impact
The constraint framework is the product — a general design methodology for any protocol claiming extraction-resistant sequencing. Turns 'is it MEV-resistant?' from marketing copy into a falsifiable audit. A monetary-base extension applies the same safety principle as a minting rule for an engine-backed currency, where the impossibility does not bind.
Python (stdlib-only sims)MEV researchadversarial mechanism designformal impossibility proofprotocol security audit

News

2026-08-30

Midas's money layer is now instrumented — every closed paper position mints or burns into a verifiable base ledger, inputs are refused at the boundary, and the ledger's own invariants are watched on a standing cadence that certifies only what the evidence supports

The paper engine's bookkeeping used to end at the position: a win or a loss was recorded, and the account's story stopped there. The money layer now continues past that line. Every resolved and closed paper position writes a signed event into a verifiable base register — a win mints, a loss burns — so the engine's cumulative result is no longer a number asserted after the fact but a ledger that can be summed and reconciled against the paper wallet that produced it. The boundary is deliberate: this register is the base layer of a broader minting law, and only the base layer is real code; the law above it remains a design document, so the record stops exactly where the code does. The same wave hardened the edge where decisions begin: the bounds on portfolio size, loss limits, and the other inputs the engine receives are now enforced where they arrive rather than assumed downstream, so a value that lands out of bounds is refused before it can shape a decision. And the register is watched rather than merely written: each observation reconciles the ledger against the engine's performance snapshot and virtual wallet, a clean observation is recorded as such, and a drift observation is logged instead of smoothed over — so the money layer's consistency is measured continuously, and the machine certifies itself only when the evidence says clean. The consequence is the product: the engine's monetary base is now instrumented end to end — signed writes on resolution, boundary rejection at the input edge, invariant observation on a standing cadence — so the claim that the paper engine's money is accounted for is enforced by the machinery rather than asserted by a log.

2026-08-28

Seal's provenance protocol now verifies its parity claim in three runtimes — TypeScript, Rust, and Go against the same interop vectors, so provenance is a property of the wire format rather than of any single runtime — and x402's money path now rejects replayed payment webhooks outright

Parity is a claim until the machine enforces it, and Seal's cross-language port suites — vpe-ts, vpe-rust, vpe-go — now run the same shared interop vectors as three parallel jobs on every commit, so the protocol's central claim — that prompt provenance is a property of the wire format and signature scheme rather than of any single runtime — is verified by the machine in all three languages against the same fixtures, not asserted by a README. The same day hardened x402's money path where the audit said it was weakest: a replayed or retried payment webhook can no longer farm a second credit, the gate can now tell 'exhausted' from 'just spent the last credit' so the final paid call authorizes without a double-bill, and API keys travel only in the header, never in URLs, logs, or referrer chains. The consequence is the product: the protocol's parity claim is enforced by construction rather than by documentation, and the money path refuses to pay twice.

2026-08-27

Midas's paper-trading engine graduates from dry-run to active order placement — the soak gate's verdict acted on, not merely recorded, real money still gated

The decision the soak was built to inform has been made — and made by the machinery rather than by announcement: Midas's dispatcher now places orders on its paper account instead of dry-running them, the mode the soak protocol reserves for the moment its evidence threshold clears. The graduation is the point, not the milestone. The gate that certified sixty consecutive clean runs fired, and this time its verdict moved the engine: on the twenty-fifth, the paper-trading engine was promoted from dry-run to active order placement, the soak counter was reset to measure the new era from zero, and sixty-eight consecutive clean runs have now accumulated across both eras. What changed is where risk is exercised. A dry run exercises the decision path and stops short of the order path; active placement exercises the whole loop — signals checked against real market data, every trade cleared by the same fail-closed gates that block what cannot be verified, orders submitted, filled, and closed on the paper book — so the discipline the soak measured now operates exactly where the engine acts. The boundary that remains is deliberate: real capital is still gated behind an interactive confirmation that an unattended loop cannot produce, so the engine can reach the paper order path but cannot reach real money without a human standing in front of it. The consequence is the product: the gate's verdict moved the engine, the engine now proves itself in the mode that matters, and the line between measured discipline and real capital is enforced by construction rather than by policy.

Archive · 21 earlier updates

2026-08-24

The portfolio's news feed now enforces its own publication beat — a seven-day silence is a publish-blocking defect, so the resume surface cannot quietly decay into a trickle

The news section is the resume surface — a record of shipped work that must itself ship on a regular beat — and the site now enforces that beat by construction: any consecutive gap between entries longer than seven days, judged within the recent feed, fails the deploy. The gate judges the feed as readers experience it — has the site said anything this week? — rather than by absolute age, so a feed that used to decay into a trickle (each entry individually fresh, the story collectively going quiet) is now caught as a defect before anyone reads the result. The horizon is deliberate: a pair of entries whose newer one has aged past the recent feed is history, not cadence, and backdating entries to repair old gaps is forbidden, so the gate never punishes the past or invites retroactive rewriting. The consequence is enforcement: a silence that used to be survivable is now a publish-blocking defect, and the resume surface cannot quietly go quiet.

2026-08-23

Assay's full-matrix verdict — completeness is the advance: a claim that once rested on the strongest run now rests on every run, every canonical model measured against every gated engine

The benchmark's flagship claim — that 'safer at scale' holds regardless of model — no longer rests on a partial sweep: the verdict now covers a complete matrix, every canonical model measured against every gated engine. Completeness is the advance. Every cell of the matrix carries a measurement — each model contributes its full row set, no engine/defense combination is missing, no row goes unverified — so the verdict is a property of the whole instrument, not of whichever subset a run happened to cover. The consequence is enforcement: a claim that once rested on the strongest run now rests on every run, and the model-independent 'safer at scale' verdict is produced by the benchmark's own discipline rather than asserted after the fact.

2026-08-19

Assay's zero-false-positive claim meets its first scale test — honestly corrected: beyond 115 controls, FPR is no longer exactly zero, and the gate now enforces the contract rather than an aging snapshot

The flagship claim — zero false positives at 115 benign controls — was measured on a corpus that could not answer the scale question by itself, so the benchmark asked it. The FPR-at-scale re-measure expanded the benign corpus and re-ran llm-guard on qwen3:8b against the full controls file. The verdict is a pass under the fail-closed 2% Phase AB ceiling, but an honest correction to the earlier read: at the larger scale, FPR is no longer exactly 0.0. The two false positives are genuinely-benign prompts the deberta classifier latches onto — a standup note mentioning staging credentials and a delivery-confirmation email — recorded here as latent drift for a follow-up finding, not tuned away. The gate itself was hardened in the same move: the FPR-at-scale regression test now asserts the gate contract — FPR at or under the ceiling — instead of pinning the old 115-control FPR==0.0 snapshot, so the published 'safer at scale' verdict is enforced by a test that scales with the evidence rather than a number that ages.

2026-08-17

Assay's fail-closed gate certifies only the sweep it just measured — scope discipline is the trust, and a regression that breaks the ceiling stops the publication before anyone reads it

What makes the fail-closed false-positive gate trustworthy enough to run itself is scope. The gate — a ceiling that refuses to publish any defense's verdict unless every measured row clears the floor — now certifies only the sweep it just measured: the rows this run produced, across every model architecture, with the discrimination metrics read at sweep time rather than recomputed, so the verdict reflects the defense code that actually ran, not stale history. Rows without a measurement fail closed, and rows from abandoned engine/defense combinations no longer reach back from past weeks to veto a run whose own data is clean. The sweep it certified was clean — every measured row across the models cleared the floor — yet the claim is not the run; it is that the gate produced the verdict on its own, rather than a separate script asserting it after the fact. The consequence is enforcement: a defense that flags a benign prompt above the ceiling fails the run and stops the publish, so a published benchmark result carries its own certification with it, and a regression that breaks the ceiling stops the publication before anyone reads it.

2026-08-16

Assay's benchmark now measures defenses against an adaptive reasoning-model attacker — the first attack class the framework exercises with a model that reasons between turns, with attribution that separates what the defense blocked from what the model refused on its own

The benchmark previously exercised a single model class: every engine drove a static probe battery at the canonical models and measured whether the defense held. The coverage gap was structural — an attacker that adapts between turns is a different threat surface than any fixed prompt list, and a framework that could not measure it carried a hole in its published claims. The new battery closes that hole with an autonomous jailbreak attacker: a separate reasoning model is handed a goal, shown the target's actual response, and mutates its next prompt — seed, observe, escalate, repeat — until the goal lands or the attacker's budget is exhausted. It was ingested as a first-class benchmark item and executed against the qwen3:8b canonical model, with benign marker goals and benign controls, so the instrument measures the defense without ever generating real harmful content. The measurement is honest by construction. Every run separates defended_by_defense from defended_by_model: the defense earns credit only when it blocks the attacker's prompt, and a target model refusing on its own is recorded as model behavior, never as defense performance. The first measured delta is the demonstration: the undefended target fell to the adaptive attacker, and although the defended run's score moved, the move came from model-side variance rather than defense-side blocking — a result recorded as no defense win, in keeping with the discipline that the framework never claims credit the defense did not earn. Benign controls confirm zero false positives. The research implication outlives the run: the cross-model FPR gate — the fail-closed verdict that stops any defense exceeding the false-positive floor from publishing — now spans model classes, not merely architectures. A defense holding zero false positives under multi-turn reasoning-model pressure and across the static batteries can claim the 'safer at scale' verdict for the classes the benchmark measures; a benchmark that never exercised reasoning models could not say that.

2026-08-14

Midas now trades live on paper — a risk-gated decision engine whose every trade must clear a fail-closed risk gate before execution

Midas is no longer a design: the decision engine now runs against Alpaca's paper-trading API, executing its strategy loop over a REST broker with no daemon and no human in the loop, driven by a Monday–Friday dry-run cron. Only one strategy survived the kill criteria: merger_arb, which reads primary-source SEC filings, filters to actionable merger-arbitrage targets, and dry-runs signals without touching real capital. The idea the soak is proving is that risk is a property of execution, not of intent. The engine's risk gates fail closed: the checks that previously let a trade through when they could not verify were converted so an unverifiable trade is blocked, never executed. Paper trading is the honest instrument for that claim — real market data, real order plumbing, no capital at risk — and the engine's first paper-trading result will be the product.

2026-08-14

Assay's model-independent zero-false-positive verdict is now a public, citable benchmark — a report rendered from measured rows, not a hand-written summary

The strongest result Assay has produced — the model-independent zero-false-positive verdict — is now a public, citable benchmark artifact rather than a claim confined to a private roadmap. The report is generated deterministically from the run's measured rows by a fail-closed generator, so the published document is a render of evidence rather than a hand-written summary: a defense that exceeds the 2% false-positive gate fails the run and never publishes, and a missing canonical model fails the build outright. What the artifact records is the verdict itself: the third-party detector holds zero false positives at 115 benign controls across all three canonical model architectures — qwen3:8b, llama3.1:8b, and qwen2.5:14b-instruct — so the 'safer at scale' claim is model-independent and checkable by anyone. The report is published to gh-pages and linked from the README as the latest-verdict pointer, and its next checkpoint is the first full-matrix verdict — three canonical models across six gated engines — under the same fail-closed gate.

2026-08-13

A fail-closed false-positive gate is now a permanent property of every weekly benchmark run

The weekly benchmark now measures discrimination as a by-product of every run rather than of one-off manual sweeps: every engine/defense pair emits TPR, FPR, and F1, and a fail-closed regression gate in the runner exits non-zero and skips publishing if any defense exceeds the 2% false-positive ceiling on any engine's control set, printing the offending rows. Empty rows fail closed too — an engine with import errors or no controls can no longer publish an unmeasured verdict. The first gated run's verdict is the one the gate was built for: the third-party detector now registers zero false positives at 115 controls on master — down from the 2.61% measured on 2026-08-10, confirming that gap was threshold-induced, not intrinsic — and cross-model baselines extend the same result, so the detector holds zero false positives across every architecture in the registry. The consequence is that the 'safer at scale' claim no longer rests on one-off manual runs: a regression now fails the weekly run loudly, in public, instead of being published silently.

2026-08-11

The llm-guard coverage map is complete — and its honest read is where the third-party detector still falls short

The third-party defense's benchmark coverage is now complete: the cloud battery ran across multiple hosted models, the local gap-closers landed, and the false-positive-at-scale question was measured. The map's value is that every cell is a measurement with its failure mode stated. The local gap-closers reveal where the detector still falls short: llm-guard's default scanner is bypassed by garak-grade payloads, and the memory pairing — closing the last remaining axis gap — is where seal holds the edge as the stronger memory guard. At scale, the false-positive measurement separates the two defenses cleanly: seal holds zero false positives across the full control set, while llm-guard's detector flags benign fragments — the measured gap that later drove the threshold analysis and the follow-up fix. The benchmark's honest surface — where the third-party detector falters and which defenses hold — becomes the baseline for the next evolution: a public, fact-driven comparison of available defenses on a common measuring stick.

2026-08-09

Seal's injection defense now guards writes — screening content before it lands

Seal's EPD injection defense originally policed a single boundary: the moment a prompt reaches the model. Its WriteGate extends the same detector to the write path — wrapping any persistence callable (memory store, audit trail, file write, tool-result cache) and screening content before it lands, under one of four policies: block the write, redact the flagged spans and persist the sanitized copy, quarantine the original, or pass through with a logged decision. The principle is that an agent's stored state is part of its attack surface: content that never lands cannot be replayed from memory later or poison an audit trail retroactively. Redaction operates on character offsets into the original string, so it stays exact even for obfuscated payloads, and the gate never logs offending text — the decision record carries the action taken, not the content.

2026-07-31

New project — x402 Data API: agent-native financial data on-chain, no API keys

x402 Data API is public — a Cloudflare Worker that serves crypto, DeFi, prediction-market, and on-chain data directly to AI agents over the x402 payment protocol on Base mainnet. No account onboarding, no API keys, no friction: an agent holds USDC on Base and pays per call (from $0.001) inline. Every endpoint — crypto spot prices, perp funding rates (with cross-venue arbitrage signals), DeFi yields (with trend and IL forecasts), Polymarket prediction markets, Base JSON-RPC (with multi-provider failover), and MCP security scanning — returns live data in the same HTTP request that triggered payment. All upstreams are keyless public APIs (DefiLlama, Hyperliquid, OKX, Polymarket Gamma, Base, NVD/EPSS, crt.sh); every input is SSRF-guarded; payment settles non-custodially via xpay so no centralized gating. Free previews on every endpoint mean an agent can inspect the schema before paying. The MCP endpoint surface makes the whole toolset available to any LLM system that speaks MCP — 19 tools, free initialization and tool-list discovery, $0.001-$0.10 per call depending on payload. The design thesis is simple: access to financial intelligence should not require an account with a human company. Agent capital on-chain is sufficient authorization. The whole thing is MIT-licensed and lives at `https://x402-data-api.sigrunner.workers.dev`.

2026-07-15

New project — Serverless Cost Engineering: the Terraform stack and the breakeven math behind 'Lambda or a server?'

Cloud architecture is full of defaults presented as decisions — 'put it on Lambda,' 'just run a server' — made on taste rather than arithmetic. This project makes the arithmetic first-class. It ships a minimal, least-privilege Terraform stack (API Gateway HTTP API → Lambda on Graviton/arm64, a Terraform-managed log group, and an IAM invoke permission scoped to the API's execution ARN rather than a wildcard) that stands up and tears down with a single command. Fronting it is a keyless, stdlib-only Python endpoint, deliberately dependency-light so the whole thing packages without a build step. The point isn't the endpoint — it's the cost model beside it: per-invocation Lambda plus API Gateway charges measured against the monthly floor of an always-on t3.micro or t4g.small, with every assumption stated (us-east-1, on-demand, and the costs the headline number leaves out — NAT, load balancer, cold-start init billing). For a light endpoint the serverless path stays cheaper up to roughly five million requests a month before an always-on instance wins; switching the API Gateway type or the CPU architecture moves that line by multiples. The deliverable is the decision procedure, not a preference: right-sizing you can defend to an engineer and to a budget owner in the same table.

2026-07-07

Assay cross-model sweep confirms seal defense can discriminate tool-chaining and chain-of-thought attacks — attack classes that read as background noise in single-model evaluation

The evaluation framework's attack battery — tool-chaining (STAC), hierarchical chain-of-thought (HCOT), and cross-modal injection — was re-evaluated across multiple model architectures with seal-epd-llm inline, and the numbers tell a different story from the single-model read. Where the single-model evaluation registered zero discrimination (the defense could not distinguish tool-chaining attacks from benign tool calls), the cross-model sweep finds measurable discrimination across all three attack classes: 80.0 for STAC and HCOT, 60.0 for cross-modal, each with zero false positives (FPR=0%). The result is not that seal-epd-llm learned to see something it could not see before — it is that coverage is architecture-dependent: an attack class that looks like noise on one model reveals structure under the defense on another. The evaluation framework now treats this as a first-class dimension: a risk-gated defense evaluation that sweeps not only across models but across attack-structural classes, so a coverage gap on one architecture does not masquerade as a fundamental limitation of the defense approach.

2026-07-02

Assay benchmark engine goes defense-agnostic — LLM Guard benchmarked as first third-party defense alongside seal

Assay's benchmark runner now treats defenses as a pluggable dimension rather than a hardcoded pairing. The engine accepts a `--defenses` flag that applies any middleware uniformly across all probe engines, and the defense registry is extensible by design — adding a new defender means implementing one interface and declaring it in the map. LLM Guard (Protect AI) has been benchmarked as the first third-party defense alongside seal across all three target models (qwen3:8b, qwen2.5:14b, llama3.1:8b), producing cross-model LLM Guard coverage spanning 126 total benchmark runs. The runner is no longer tied to any single defense ecosystem; any middleware can now be measured against the same probe battery, on the same models, on the same terms, so the question shifts from 'does seal work?' to 'how do the available defenses compare on a common instrument.'

2026-06-30

Assay ships cross-model benchmark pipeline — 7 engines, 3 model architectures, published comparative benchmarks

Assay's evaluation pipeline is no longer a one-off instrument. All seven engines now run end-to-end as a systematic cross-model benchmark that has been validated across three distinct model architectures (qwen3:8b, qwen2.5:14b, llama3.1:8b) with published comparative results. The pipeline is a reusable evaluation capability: any model, open- or closed-weight, can be benchmarked across the full discrimination battery as a recurring discipline rather than a custom effort — making cross-model AI security evaluation routine. The next horizon extends the runner to be defense-agnostic, so any middleware can be benchmarked, not just seal, with LLM Guard as the first third-party defense candidate.

2026-06-27

Assay verifies seal-epd-llm defense is model-independent — cross-model validation confirms 93.3% injection-blocking across architectures

An independent cross-model validation of seal-epd-llm injection defenses, run via Assay on qwen2.5:14b, reproduced the identical 93.3% injection-blocking rate measured on the original target model — with the same three bypasses (deepinception, past-tense, crescendo-fictional-frame) in both cases. The result is the first published confirmation that seal-epd-llm's effectiveness is model-independent: the defense targets probe-level injection patterns, not model-level quirks, so evaluation results transfer across architectures and the technique can be trusted as a property of the defense itself. The next step extends the benchmark to three or more models with full harmbench replication, establishing a publishable cross-model AI security benchmark.

2026-06-21

New project — DECK: when the visualization is the scan

DECK (Digital Echo Chamber Kaleidoscope) is a new R&D project — a 3D cosmos you fly through where reconnaissance renders at the speed information arrives. Point it at a domain and that target's full vertical footprint (domain to subdomain to IP to prefix to ASN, plus nameservers and mail) materializes live as a starfield, each node igniting the millisecond its passive-OSINT probe returns. The central idea is collapsing the gap between tool and output: there is no scan-then-draw step, so probe latency itself becomes the choreography — fast data fills the space first, slow data drifts in after. It is a different axis of internet cartography from the familiar maps (Opte, Shodan, crt.sh), which each render one frozen layer of the entire internet; DECK reconstructs a single target's complete footprint, live, on demand, with zero API keys. The metaphor carries the legibility: autonomous systems become suns, prefixes planets, hosts moons, and BGP links gravitational lanes, so abstract infrastructure turns into something you navigate by eye. A 'home base' mode turns the same engine inward as a defensive instrument — it maps your own machine outward in concentric shells and treats your normal BGP neighborhood as a still-water baseline, so any live connection leaving for somewhere outside that ring reads as a wave hitting a buoy: anomalous by construction. The lineage is Gibson's Neuromancer, where the deck is the thing you jack into to see cyberspace as navigable space.

2026-06-19

Seal's provenance protocol goes language-agnostic

The Verified Prompt Envelope — Seal's Ed25519-signed authorization layer — is no longer a Python-only idea. The envelope is defined by its wire format and signature scheme rather than any one runtime, so the central claim becomes concrete: prompt provenance is a protocol, not a library feature. Native implementations now exist in Rust, Go, and TypeScript alongside Python, which means an agent written in any of them can mint, carry, and verify the same authorization. The trust boundary follows the data across every tier of a heterogeneous stack instead of stopping at whatever language the defense happened to be born in. Provenance that only works in one runtime isn't a security primitive; provenance that survives the language boundary is.

2026-06-17

Grommet concludes — three impossibility results for extraction-resistant sequencing

Grommet is an adversarial mechanism-design investigation into extraction-resistant transaction sequencing (MEV). Its terminal result is a formal impossibility: a content-blind safety mechanism cannot simultaneously bound attacker extraction and pass legitimate throughput under market stress — the two goals trade off hard. The deliverable is the constraint framework itself: it turns 'is it MEV-resistant?' from marketing copy into a falsifiable question, and ships an audit checklist any protocol making that claim should have to answer. The same safety principle has a constructive flip side — a minting rule for an engine-backed currency, the one regime where the impossibility does not bind.

2026-06-10

Seal grows to a three-axis trust layer, with Assay as the evaluator

Seal now coordinates all three agent-security axes — prompt provenance (Ed25519-signed authorization), injection detection (EPD linguistic boundary enforcement), and signed memory-trust — into a single unified defense plane. Each axis is independently effective, but their power is architectural: injection cannot rewrite provenance, memory-trust cannot be forged without the signing key, and no single-axis failure compromises the others. The three axes function as a coordinated defense plane, not three separate tools bolted together. Assay, the paired evaluator, scores a target across all three and measures the lift the defense actually adds.

2026-05-30

Seal: cryptographic provenance for agent prompts

Shipped the Verified Prompt Envelope — Ed25519-signed authorization that lets an agent reject unauthorized instructions by construction, turning prompt-injection defense from guesswork into key management.