The job market is bad so I mass obfuscated all of my code so nobody, not even AI, can comprehend it without my key. I am now essential personnel. You're welcome.

317 points dr_edc_ 103 comments

Let me explain.

I write clean, well-documented, idiomatic Rust. I write the kind of code that makes senior devs nod approvingly in PR reviews. And what do I get for it? Some reply guy on X or Reddit telling me it "looks like ChatGPT wrote it." A client asking if they can just "have the source" and then ghosting my invoices. An LLM trained on my open-source repos competing with me for my own contracts.

So I did what any rational person would do. I built a tool that makes my code incomprehensible to every human, AI, and IDE on earth: while still compiling, running, and passing every test perfectly. And only I have the key to turn it back.

Meet Apate: Greek goddess of deceit, fraud, and now, job security.

Your code goes in looking like this:

rustfn greet(name: &str) -> String {

let greeting = format!("Hello, {}!", name);

greeting

}

And comes out looking like this:

rustfn _x7f2a(_lIll: &str) -> String {

let _xda25g: bool = { let _a = 1u8; let _b = 2u8; _a > _b };

if _xda25g { let _x = 0usize; let _y = _x.wrapping_add(1); }

let _0l1l = format!("Hello, {}!", _lIll);

_0l1l

}

That _lIll? Try telling the ls from the Is from the 1s. And some of those characters? They're not even ASCII. They're Cyrillic lookalikes. Your grep doesn't work. Your copy-paste doesn't work. rust-analyzer needs therapy. You're welcome.

Three severity levels:

Level 1: "I hate my coworkers": Strip comments, rename everything, shuffle item order

Level 2: "I hate myself": + Cyrillic homoglyphs, control flow obfuscation, XOR-encoded strings

Level 3: "Satan took notes": + dead code injection. Functions that look real, do nothing, and exist solely to waste your time

Features for the paranoid:

256-bit keyed, fully deterministic: same key, same output, every time

AES-256-GCM encrypted manifests: without the key, the reversal data is a brick

Fully reversible: byte-for-byte original restoration with the key

Zero telemetry, zero network calls: your code never leaves your machine

It can obfuscate its own source code and still compile. Yes, I tested this. Yes, it was terrifying.

Use cases for the modern developer:

Ship source to clients who contractually require it. They get working code. They just can't maintain it without you. Technically compliant. Spiritually devastating.

Open-source your work without feeding the AI training machine. Apate output is the worst possible training data: compilable, structurally valid, completely misleading. You're welcome, future AI. Good luck learning from _0lOI ^= _xc79f.

You know that developer they hired to replace you at half the salary? Hand them the codebase. Make popcorn.

rust-analyzer status after indexing Level 3 output: critical condition, frequent restarts, considering career change.

Licensed under WTFPL. Google it.

GitHub: https://github.com/dmriding/apate

I am not sorry.