
Bidi isolate.
bidi-controlinvisibleBidirectional controls tell the text renderer which direction a run of characters should be laid out in. They are invisible and they change nothing about the stored text — only about how it is drawn.
Legitimately from any document that mixes a right-to-left script such as Arabic or Hebrew with Latin text; the controls resolve ambiguities the automatic algorithm cannot.
Illegitimately from an attack known as Trojan Source, published in 2021: the overrides in this group can make source code display in an order different from the order a compiler reads it in. A comment can be made to look like executable code, or the reverse, with nothing visibly wrong.
Whenever the document genuinely contains right-to-left content. TraceFree PRO checks for that before touching anything here, and holds back when it finds it.
In a document with no right-to-left text at all, a bidi control has nothing to do, and its presence is worth a second look.
| Preset | Action |
|---|---|
conservative | asked about |
default | removed |
report-only | asked about |
strict | removed |
Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.
In TraceFree PRO, turn on the clipboard watcher and copy the text. On the command line:
tracefree clean --backup document.txt
pbpaste | tracefree clean | pbcopyReport without changing anything — exit code 1 on findings, so it works in CI:
tracefree check -r ./docsThis page never prints the character itself, only ways of writing it. A page about invisible characters that contained invisible characters would be unreviewable — and that is the problem the program exists to solve.
| Notation | Value |
|---|---|
| Unicode | U+2068 |
| Rust | \u{2068} |
| JavaScript, Python | \u2068 |
| HTML | ⁨ ⁨ |
| Regex (PCRE, Rust) | \x{2068} |
Paste anything into the browser demo and see what is in it. Same engine as the app, running entirely on your device — nothing is uploaded.

