Writing - and fully auditing - a terminal emulator is a big job, not a weekend
side project.
secure-terminal is roughly 6,300 lines of code today, and a terminal emulator is a
notoriously fiddly thing to get right: escape-sequence parsing, a screen model, input handling,
and every edge case programs rely on. Established emulators are typically maintained by a single
person or a small team and have been developed and hardened over years, not weeks. For a
project like Kicksecure, writing a secure terminal from scratch - and then giving it a full,
independent security audit - cannot realistically be a side project done overnight - which is exactly why this
page exists rather than an implied clean bill of health.
For scale, here is roughly how much code each terminal we compared against carries, counted
with cloc over the primary
source (approximate; AI-checked; secure-terminal re-counted 2026-08-12):
| Terminal | Approx. lines of code | Language |
| st | ~4,000 | C (deliberately minimal) |
| secure-terminal | ~6,300 | Python (memory-safe) |
| alacritty | ~25,000 | Rust (memory-safe) |
| konsole | ~50,000 | C++ |
| xterm | ~90,000 | C |
| kitty | ~128,000 | C and Python |
Except for the deliberately minimal st, these are far
larger than secure-terminal and - apart from alacritty's Rust - written in memory-unsafe C or
C++, developed and hardened over years. Small does not mean safe on its own, but it does mean
the whole thing is far more reviewable.
So the plan is staged: ship it with the automated safety net in place, complete the human
non-malicious review next (removing the backdoor question), and pursue a deeper audit over time.
Meanwhile you get to make an informed choice instead of an implied-perfect one.