Apps

sigilOS applications and native clients. Every binary here is compiled from Sigil source by the sigilOS compiler — no C, no runtime, no dependencies.

SigilDB

A capability-native database written entirely in Sigil — storage with MVCC, indexes, a query engine, ACID transactions, schema constraints, a SQL parser, and the SigQL client suite (wire protocol, connection manager, client library and a universal ODBC/JDBC/ADO.NET/OCI-equivalent driver). DDL, DML, DQL and JOIN are separate kernel capabilities — there is no GRANT table to get wrong. ~175 KB total, against PostgreSQL's ~100 MB and Oracle's ~10 GB.

Engines + SigQL

sigilOS arm64 EL0 · Pi 3B / 4B / 5

Download · 0.2.0

tar.gz · 10 blobs · 260/260 tests

260/260 tests pass — each suite compiled and booted under QEMU, its result read off the UART. They had never actually been run before this release: four of the ten failed. All four were real defects and all four are fixed, the largest being a tokenizer that stopped after a single token, so SELECT * FROM users parsed as one token.

SigilDB MySQL client

The host-side half: a MySQL / MariaDB client speaking protocol 4.1+ with mysql_native_password, caching_sha2_password (fast and full auth), and sha256_password — in-tree SHA-1, SHA-256, bignum modexp, RSA-OAEP and X.509 key parsing. One static binary.

macOS

Apple Silicon (arm64) · macOS 12+

Download · 0.1.0

tar.gz · ./install.sh → ~/Applications/SigilDB

Linux

x86-64 · static, no deps

Download · 0.1.0

tar.gz · ./install.sh → ~/.local/bin

Windows

x86-64 · PE, no deps

Download · 0.1.0

zip · run sigildb.exe

All 7 self-tests pass on this build — SHA-1 FIPS 180-4 vectors, base64 round-trip, MGF1-SHA1 against an independent RFC 8017 oracle, RSA-OAEP round-trip, MySQL packet framing and native-auth response, caching_sha2_password scramble derivation, and server RSA public-key parsing. The connection target is compiled in; a CLI argument parser and the Lumen query UI are not in 0.1.0. The sigilOS-native build links the identical protocol code but cannot connect until the kernel's Cap<NetConn> syscalls land.

Warden

sigilOS's capability and authority enforcement layer — kernel cap-audit consumer, policy evaluation, rate limiting, and the kill switch, with a Lumen Scene GUI and JSON-as-policy as the single source of truth.

sigilOS

arm64 EL0 · Raspberry Pi 3B / 4B / 5

Download · 1.0.0

tar.gz · monitor + panel + LDAP + policy

These are sigilOS binaries — flat-v1 arm-el0 images fs-loaded from /apps. They do not run on macOS, Linux, or Windows. In 1.0.0 the panel renders warden's actual runtime state — live rules, the real audit ring, and true kill/denial counters. Through 0.1.0 every figure on it was a string literal. Not included: the CLI handlers, which have no OS-side terminal registration ABI to bind to yet, and authority.sg, which needs a kernel per-process capability enumeration syscall that does not exist.

Sigil Vault

A capability-native secrets platform — KV with leasing and seal/unseal, Transit (AES-256-GCM encryption-as-a-service), PKI, dynamic secrets with TTL, versioned KV v2, response wrapping, and FPE/masking/tokenization. Secrets are capabilities: the kernel already decides who can reach what, so there is no second auth layer to disagree with it. ~138 KB against HashiCorp Vault's ~200 MB — and no network surface at all.

All platforms

sigilOS · macOS · Linux · Windows

Download · 1.0.0

tar.gz · 7 engines × 4 targets · 133/133 tests

133/133 tests pass, run on macOS arm64 natively and under QEMU for the sigilOS build. They had never been executed before this release, and two real defects came out of doing so — including a region collision where the dynamic-secrets engine's state counters wrote straight through KV v2's versioned-entry table, corrupting stored secrets whenever a dynamic credential was generated. Neither engine's own suite could catch it, because neither runs with the other's data present.

sigil-store

The App Store client itself. Fetches this catalogue over TLS 1.3 written in Sigil — no OpenSSL, no runtime — verifies it against a pinned ed25519 key, and downloads packages checked against the sha256 the catalogue declares.

All platforms

macOS · Linux · Windows

Download · 1.0.0

tar.gz · one static binary per platform

The trust chain is pinned key → signed catalogue → per-package sha256 → bytes, and no link of it depends on the transport being honest. That is deliberate: the TLS client does not validate certificate chains, and because the package hashes live inside the catalogue, an attacker who could replace the catalogue would replace every hash with it — so hash-checking against an unauthenticated catalogue would prove nothing. A catalogue with a missing or invalid signature is refused before it is parsed; a package whose hash disagrees is rejected, not accepted with a warning.
Verify any download against SHA256SUMS: shasum -a 256 -c SHA256SUMS — and the catalogue itself against catalogue.sig.