Intercept
Filter and rewrite
Paste or drop source. InvisableOS strips invisible Unicode, folds homoglyphs, kills bidi overrides, and rewrites Claude-voiced comments before anything is allowed near git.
- 01 Incoming
- 02 Detect
- 03 Rewrite
- 04 VCS
- Strip invisible / format characters3
- Strip trailing whitespace + CRLF1
- Strip Claude / AI-voiced comments5
Channels
UTF-8 byte-order mark
mediumFile starts with U+FEFF. Often used as a covert signature on generated files.
L1:1·// I'll help you implement a robust session helper.
ZERO WIDTH NO-BREAK SPACE / BOM
highU+FEFF is not rendered. Common Claude / LLM fingerprint channel.
L1:1·// I'll help you implement a robust session helper.
ZERO WIDTH SPACE
highU+200B is not rendered. Common Claude / LLM fingerprint channel.
L5:22·export function rotateSession(token: string): string {
ZERO WIDTH NON-JOINER
highU+200C is not rendered. Common Claude / LLM fingerprint channel.
L11:42·return token.slice(0, 8) + "." + stamp;
AI / Claude comment voice
mediumTutorial or assistant phrasing typical of Anthropic and other LLM codegen.
L1:2·// I'll help you implement a robust session helper.
AI / Claude comment voice
mediumTutorial or assistant phrasing typical of Anthropic and other LLM codegen.
L2:2·// This function handles token rotation and gracefully handles edge cases.
AI / Claude comment voice
mediumTutorial or assistant phrasing typical of Anthropic and other LLM codegen.
L3:2·// Here's a comprehensive solution that is production-ready.
AI / Claude comment voice
mediumTutorial or assistant phrasing typical of Anthropic and other LLM codegen.
L6:2·// We need to ensure the token is not empty
Trailing whitespace
lowTrailing spaces or tabs can encode a bitstream across a file.
L10:43·const stamp = Date.now().toString(36);
AI / Claude comment voice
mediumTutorial or assistant phrasing typical of Anthropic and other LLM codegen.
L14:2·// Let me add a helper function to verify the shape
1// I'll help you implement a robust session helper.2// This function handles token rotation and gracefully handles edge cases.3// Here's a comprehensive solution that is production-ready.45export function rotateSession(token: string): string {6 // We need to ensure the token is not empty7 if (!token) {8 throw new Error("missing token");9 }10 const stamp = Date.now().toString(36);11 return token.slice(0, 8) + "." + stamp;12}1314// Let me add a helper function to verify the shape15export function isSessionShape(value: unknown): value is { token: string } {16 return typeof value === "object" && value !== null && "token" in value;17}
123export function rotateSession(token: string): string {45 if (!token) {6 throw new Error("missing token");7 }8 const stamp = Date.now().toString(36);9 return token.slice(0, 8) + "." + stamp;10}1112export function isSessionShape(value: unknown): value is { token: string } {13 return typeof value === "object" && value !== null && "token" in value;14}