An independent software development group building self-hosted tools for small IT teams and homelabs.
We build the things we want to run ourselves. Everything here is self-hosted: you run it, you hold the data, and none of it phones home.
| Project | What it does | Status |
|---|---|---|
| Civil | Shared identity — one account, one org, one site concept across every product. | Early |
| Vigil | Infrastructure monitoring and endpoint management — metrics, alerting, hardware inventory, signed remote tasks. | Active |
| Jackil | IT helpdesk — threaded tickets, two-way email, SLA tracking, automation, knowledge base. | Active |
| Turnstil | Event registration, QR check-in, and contact sharing. | Active |
Civil is the keystone. Each product redirects to it at login, receives a short-lived Ed25519-signed token bound to that one app, and verifies it locally against a cached public key before starting its own session.
The practical consequence is the part worth knowing: Civil being down means no new logins — it does not mean an outage. Existing sessions in every app keep working and monitoring never blinks.
Identity is deliberately all Civil does. No roles, no permissions, no licensing — those stay per-product, so one service going wrong cannot cascade into an authorization failure somewhere else.
- Django + PostgreSQL in production, SQLite for zero-dependency local dev
- Docker Compose for deployment; every product ships a
docker-compose.yml - The same
civilssoclient app is vendored into each product, so the login path is identical everywhere - Issue and pull-request templates,
SECURITY.md, and contribution guides live in each repository
Issues and pull requests are welcome on any public repository. Start with the
CONTRIBUTING.md in the repo you're interested in.