HUMAN REVIEW: WHERE THIS STANDS

Not yet human-audited. Here is the trade-off.

secure-terminal is AI-authored. It has not had a full human security audit. This page lays out exactly what review it has had, what it has not, and why - even so - it can be the safer choice than a traditional terminal whose attack classes are known, decades old, and largely unaddressed.

Three levels of review

Trustworthiness is not binary. There are at least three meaningfully different levels of review a codebase can have. We tell you which one applies today.

Today

1. Purely AI-generated current status

Written by AI, checked by an extensive automated suite - adversarial corpus, spec-surface invariant, fuzzing, static analysers, and cross-model AI review - but not yet reviewed line-by-line by a human. This is why every page carries the red needs human review marker.

Near future

2. Human non-malicious review

A human reads the code well enough to confirm it does what it claims and contains no backdoor or obvious sabotage. This does not find every subtle bug, but it removes the "did an AI slip something malicious in?" question.

Long term

3. Full human security audit

An expert audits the whole design and implementation for exploitable flaws. This is the gold standard - and, as explained below, a genuinely large undertaking for software this size.

Should you wait for the audit? No - and here is why

The comparison that matters is not "audited software vs unaudited software." It is "unaudited secure-terminal vs a traditional terminal with known, unfixed weaknesses."

A traditional terminal emulator is not a neutral, safe baseline. It interprets whatever bytes a program prints, and that has well-documented consequences:

  • A simple cat /dev/random is enough to garble the screen and, on many terminals, silently rewrite the window title - we measured this against ten terminal emulators.
  • Program output alone can rename your window or tab and, in several terminals, read or overwrite your clipboard - the title/answerback and clipboard reflection classes, still open by default across much of the field (detailed on the comparison page).
  • Any command you copy from a website, a Stack Exchange answer, or an AI chat interface can carry hidden Unicode or control characters that read differently from what runs - the Trojan-Source class - and paste straight into your shell without you noticing.
  • The code that parses those hostile bytes is usually written in a memory-unsafe language (C), with a long history of memory-corruption bugs in exactly that path.

The documented workaround for the paste problem - copy to a text file, scan it, then copy to the terminal - is real, but so cumbersome that almost nobody does it every time. And crucially, these traditional-terminal weaknesses are, to our knowledge, not even being worked on: they are considered out of scope, a different threat model. secure-terminal removes the whole class by design. So the choice is between a known-vulnerable terminal and an AI-authored one that closes those attacks but has not yet had a human security audit.

What does not apply here - and what still might

A shorter list of known attacks is not a shorter list of attacks. Read the previous section with this one attached.

Inapplicable by construction. The published CVEs and the "out of scope, different threat model" issues that afflict traditional terminals are not attacks secure-terminal defends against; they are attacks it has no machinery to suffer. There is no OSC 52 parser to have an OSC 52 bug, no answerback string to reflect, no alternate screen to hijack, no C parser of hostile bytes to overflow. A feature that does not exist cannot be exploited - that, and only that, is what the comparison shows.

What that does not buy. secure-terminal may well have unknown vulnerabilities of its own, including ones no other terminal has, precisely because no other terminal has this code: the sanitiser, the four display modes, the paste and copy review, the restricted TUI screen model are all new, none of it human-audited, none of it with years of field exposure behind it. A short CVE list here is the absence of a search, not the result of one.

So state it plainly: a narrower attack surface, not a proven-safe one. Fewer places for a defect to hide is a real and deliberate property; "therefore there are none" does not follow, and nothing on these pages should be read as claiming it. If you want the stronger claim, that is what levels 2 and 3 above are for - and neither is done yet.

"But AI code is slop, insecure, you shouldn't use it"

A fair objection, and one we take seriously rather than wave away.

There are real, documented problems with AI, which is exactly why Kicksecure has a policy on artificial intelligence and has itself received - and rejected - nonsensical AI-generated contributions. AI driven by a non-programmer will most likely generate nonsensical code.

The distinction that matters is who drives it. Used by an experienced developer who reviews, tests and constrains it - not by a "fire everyone, the AI does it all" fantasy - AI is a tool that can produce working software, and the output can be held to a bar most human-written code never is. That is the entire point of the AI Review: this project is not "trust the AI," it is "here are the adversarial tests, the fuzzers, the scanners and the cross-model reviews the code has to survive, all published for you to inspect."

Why we can't simply audit it all ourselves

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):

TerminalApprox. lines of codeLanguage
st~4,000C (deliberately minimal)
secure-terminal~6,300Python (memory-safe)
alacritty~25,000Rust (memory-safe)
konsole~50,000C++
xterm~90,000C
kitty~128,000C 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.

So why use it now?

Because even with the audit still outstanding, the concrete, known attacks that a traditional terminal is exposed to - screen and title hijacking, reflection-to-command-injection, hidden-character paste, memory-corruption in the parser - are mitigated by design here, and demonstrably so. And once the human non-malicious review is complete, you also get confidence that there is no backdoor. That is a different, and for many people better, risk profile than the status quo - offered without overstating it: it is a narrower attack surface, not a proven-safe one.