Security · systems · AI · web

I build systems and find out where they give way.

Software, infrastructure, security, and AI agents. I run much of it myself, break some of it on purpose, and document what matters afterwards.

This is not a résumé. It shows the anatomy of the work: decisions, findings, commands, and the parts that are not finished yet.

01 · current work

last verified · 2026-08-19

Agent infrastructure, not a prompt collection

A versioned workspace distributes skills, standards, and guardrails to multiple isolated agent environments. The model proposes. Deterministic code controls tools, approvals, and side effects.

The interesting part is not the model. It is the boundary underneath: small entry contexts, capabilities loaded on demand, read-only access where reading is enough, and an inspectable path for privileged action.

simplified structure · safe for public view
agent-workspace/
├─ skills/       versioned
├─ standards/    shared
└─ runtimes/
   ├─ codex      isolated
   ├─ claude     isolated
   └─ hermes     profiles

policy → approval → tools
Context and capability remain separate. The model may request an action; authorization lives outside the model.

the boundary sits below the model.

02 · scope

orientation, not a skills rating

What appears here

Security
Code review, incident anatomy, disclosure, and the gap between scanner output and actual behavior.
Systems & Infrastructure
Linux, containers, storage, backups, and systems that must keep working after a fault.
AI Systems
Agents, retrieval, and explicit boundaries between probabilistic models and deterministic action.
Web Engineering
Static publications, complex migrations, and inherited stacks that need to become understandable again.
Data & Automation
CLI tools, document pipelines, and small systems that remove recurring manual work.
Search
Semantic retrieval, vector databases, and the operational work required to make search quality hold up.

03 · selected proof

anonymized · numbers verified

Claims with a traceable finding

  1. Security · verified 2026-08

    ≈ 24 min

    A backdoor scanners missed for 1.5 years

    Roughly 24 minutes passed between the initial login and finding the first webshell. The later re-compromise belongs in the deeper incident chronology.

  2. Infrastructure · incident 2026-08-07

    no data loss

    An NVMe disappeared from the ZFS mirror

    The pool kept running in a degraded state. Every guest had a fresh verified backup before intervention; nothing was lost.

  3. Migration · verified 2026-08

    34 → 97

    1,818 records, three languages, one new rendering path

    The Astro SSR migration raised the measured PageSpeed result from 34 to 97 without simplifying the multilingual dataset.

04 · selected projects

status and provenance visible

Tools with a reason to exist

  1. infrastructure · cli

    IN USE

    rostr

    A CLI-first server inventory. The versioned YAML inventory layer is the source of truth; SSH configuration and Ansible inventories are generated from it.

    Project detail →

    rostr · condensed run
    $ rostr sync
     SSH config updated
     Ansible inventory updated
     hosts.txt updated
    One input, several standard outputs. Generated files remain useful without rostr.
  2. ai systems · security

    PAUSED

    marlin

    A control layer for AI agents. The model drafts text; deterministic code holds tokens, checks roles, and controls every privileged action.

    LLM text, nothing else
    Policy boundary RBAC · approval
    actions
    audit log
    The model owns no tokens and no execution capability. It can only hand a draft to the controlled boundary.

05 · Lab preview

architecture · last verified 2026-08-19

Isolation follows data sensitivity.

Workloads do not go wherever capacity happens to be free. Placement starts with the data, whether the service must be public, and what a compromise could reach.

Current experiment: agent environments receive capabilities only when needed; read-only access stays read-only until writing has a concrete reason.

Open the complete Lab →

  1. 01HOME / SENSITIVEprivate data · no public ingress
  2. 02PUBLIC / DEDIpublic services · logically separated
  3. 03EDGEnarrow purpose · revocable keys · no data
outbound encrypted connections only

06 · Notes

original language remains visible

Worked through, not summarized

More notes

  1. DE · 16/08/2026

    NVMe-Totalausfall um 23:10: measure, then optimize

    Eine NVMe flog aus dem ZFS-Mirror. Die Daten blieben da. Danach begann die eigentliche Arbeit mit Eingrenzung, Messung und gezielter Korrektur.

  2. EN · 16/08/2026

    Isolation follows data sensitivity: a three-tier doctrine

    How I separate sensitive processing, public services, and static egress across three infrastructure tiers without exposing the private network.

07 · Build Log

short, dated, unvarnished

What moved recently

  1. Chat-Stack-Cutover: Mattermost und Matrix in private Production

    Der private Chat-Stack ging ohne Föderation und öffentliches Routing produktiv. Was nicht erreichbar ist, muss nicht verteidigt werden.

  2. Agent-Baseline-Upgrade: erst Snapshot, dann Migration

    Benannter Snapshot, vollständiges Backup, Migration, Abnahmetests. Die Reihenfolge ist der eigentliche Inhalt.

  3. Eine NVMe starb um 23:10. Den Mirror hat es nicht interessiert.

    Der ZFS-Pool lief degradiert weiter, alle Gäste waren gesichert, und es gab keinen Datenverlust.

08 · About

The common thread is curiosity across layers.

I came to the web through malware analysis, to infrastructure through the web, and to agent systems through infrastructure. The subjects change. The method stays: inspect the real state, make boundaries visible, then simplify.

Client work runs through Contegus. This site remains the technical work journal behind it. Contegus →