Our own products

What we build when the client is us

Client work belongs to the client. This does not. It is the studio building on its own account, with nobody else to blame for anything in it. One so far. It is live, and you can go and use it.

IronEye
Liveironeye.org

IronEye

Document intelligence and live public-web collection, behind one API key.

Send it bytes and it returns a typed document: entities, PII, secrets, tables, malware indicators, structure. Send it an identifier instead and it collects a normalised record from a public source while you wait. Same envelope either way, same audit chain, same retention policy.

The alternative is an extraction vendor, a DLP vendor, a file-scanning vendor, and the glue you write between them. That is the whole pitch.

Rust and axum on the server, PostgreSQL and Redis behind it, React 19 for the console. Self-hosted, one origin, in a container with no shell.

Seventeen modules, one call

Identity, text, tables, metadata, entities, PII, secrets, prompt injection, invoices, and eight more, across 22 file families. Ask for an invoice and it runs text, entities and tables first without being told.

Every finding shows its work

A byte offset, the rule that produced it, a confidence, and whether the value was observed or inferred. Nothing is promoted from a guess to a fact on the way out.

311 operations across 170 public platforms

288 of them run with no account and no key. The connectors are compile-time tables, so the list of hosts the service can ever contact is something you read rather than something you trust.

Nothing touches disk

Untrusted bytes are parsed in a sandboxed child process with file writes denied and syscalls filtered. A panic kills one module. The rest of the response still returns.

lines of Rust
70,750lines of Rust
collection operations
311collection operations
accuracy checks, precision and recall
200,123accuracy checks, precision and recall

The same team does this for clients

An API, an internal system, a desktop app, something that has to survive hostile input and an auditor on the same afternoon. Tell us what you are building.

Start a conversation