One coordinator, one policy boundary
Chat, Documents and Code are entry points into a single local harness. They do not keep separate identity, memory, routing or audit systems.
REFINIX
Apache-2.0 · Air-gapped · Open-weight models
A private agent workbench for confidential industrial work — chat, documents and code, running entirely on hardware inside your perimeter. The proof is a live counter at zero, not a promise in a brochure.
# every build is published with its checksum $ sha256sum refinix-0.1.0-windows-x64.msi # compare against the signed manifest $ refinix verify --manifest refinix-0.1.0.manifest.json
# mount the verified bundle, then install from it $ refinix install --bundle /media/refinix-0.1.0-bundle # no network is contacted at any point $ refinix selftest --offline
Sovereign = Local + Agentic + Proven
Design approach
Chat, Documents and Code are entry points into a single local harness. They do not keep separate identity, memory, routing or audit systems.
Enable document work or code work and the installer resolves the smallest model and tool plan for it, showing source, licence and size first.
Auto picks a device from capability and health evidence. The chosen model, the device and the reason stay on screen, and you can overrule them.
Job state, tool calls, artifacts and approvals land on one append-only event stream, so a run can be inspected after the fact.
The product
Pick a surface to see what it shows. Every value below is sample content, not a measurement.
“Read the scanned inspection report and draft an approval note.” Four steps. The extraction pass needs the vision model, so it routes to node-02 and the rest stays here.
Scans in, real deliverables out. OCR and vision run on device, and every extracted finding keeps the page it came from so a draft can be traced back to the sheet.
Changes are proposed, run, and only then offered. Execution happens in a sandbox with networking disabled and bounded CPU, memory and filesystem access.
--- a/tools/tag_export.py +++ b/tools/tag_export.py @@ -18,7 +18,9 @@ - rows = read_tags(path) + rows = read_tags(path) + if not rows: + raise EmptyTagFile(path) return normalise(rows)
Enforced, observed, unavailable. Three different claims, never sharing a colour, each naming the layer or observer it came from.
Capabilities
Approval notes, inspection reports, engineering calculations, internal tooling code, and drawings that arrive as scans.
Scanned reports, handwritten annotations, P&IDs and photographs, through on-device OCR and vision. Findings keep their page numbers, so a draft traces back to the sheet.
A local retrieval connector over your SOPs, standards and past correspondence. Citations point at your own disks, and the index never leaves them.
Approval notes, spreadsheets and decks that open correctly as
.docx, .xlsx and .pptx — plus code
changes validated in a sandbox with networking off.
One workstation is a complete installation. Pair a second trusted device and a vision job can run there while a coding job runs here — one job, one model, one device, never weights split across machines.
The evidence rule
A green tick cannot tell you whether a control is running, or whether anyone was watching. So Refinix does not draw one.
The host firewall ruleset is loaded and blocking, and the layer doing the enforcing is named beside the claim.
nftables · inet/filter
Zero public outbound flows, on stated interfaces, in a stated window. No observer and no window means no figure.
flow-probe · 24 h window
No observer installed on this host. Drawn as missing — never as a zero, because absence is not proof.
no source
REFINIX
One local harness for chat, documents and code — every run recorded, every figure sourced, and nothing leaving your perimeter.