Run KiCI completely on your own — open source, no platform required.
The orchestrator and agent are open source. Run them fully self-hosted in independent mode: your git host delivers webhooks straight to your orchestrator, every job runs on your infrastructure, and KiCI's servers are never in the path.
No relay in the middle
In independent mode the webhook hits your orchestrator's ingress directly — nothing transits KiCI.
Your code, secrets, and compute never leave here.
What you trade away — and where to read the full list
Going fully platformless means giving up the hosted control plane — for example the dashboard, organization and team management, and production build attestations. This is a genuine tradeoff, and we keep an authoritative, always-current list of exactly what the hosted Platform provides.
See the full, always-current list: What requires the hosted Platform →Start in a few commands
Point your git host at your orchestrator's ingress and you are running self-hosted:
# Run the orchestrator with no hosted Platform in the loop
export KICI_MODE=independent
export KICI_WEBHOOK_PUBLIC_URL=https://ci.example.com
# Register a GitHub source (source registration is always the CLI)
kici-admin source add github \
--name my-app \
--app-id 123456 \
--webhook-secret "$SECRET" \
--private-key @./app.pem
# The CLI prints your direct ingress URL — paste it into your git host:
# https://ci.example.com/webhook/<org>/github/<source-id> Full walkthrough: direct webhook ingress · platform-down behavior · configuration.
Or let us host the dashboard — free forever
Want the dashboard, run history, and zero webhook plumbing? The hosted free tier is free forever with full functionality — and your code and secrets still run only on your infrastructure. Platformless is the way to experiment, audit, or air-gap; the hosted free tier is the easy default.