GhostInk

Ghost Ink scrambles text to confuse bots, scrapers, and censorship systems — without affecting human readability.
It uses hidden spans, Unicode confusables, and zero-width spaces to create writing that is human-friendly but machine-resistant.

• Status: In development
• Goal: Help writers publish safely under surveillance without losing public accessibility.

GhostInk Example

A human sees this:

G17ch9ed6o57bfsf8c63t4bI0572na8bck0c2a 6e87bpfbr0b11o93dt4e1ba7ca2td95s0e7b1 768sf2866e9bn18b32scbf99i0t147f4id55v0c6e125e 90aa8w1214reif12t4045id3n276g0f 2bc7y0f9a 4ma7a91b7k8aibn5e1c2g469a0 5i8tfb0c2 chc1baa5e1cr9dfa3df2ec6698r4 889t1d883oa6 07cdcc7e57oee2p906b9y4,281 b330as94fcer24ba4b1pc3eac05,a3f2 541eo45br00 71e97e1cx86c32t4fr65e4a7cc6t88fb 35w8i542dtd4d5h7d89o6u3tf 7p0bebddrf3m71bei3cs98s9f0id8a4do57bbbn6c8.e

W51f1h81e65774nf42 2596ycbfoaub8a3f f98aerefe3b18adde754 cc99et47eea53x30tf120a 3p8fr8a743oed293tce24dcfe1ct79574ece6d3 024b3e35ybb94 fG8e3f5hd2395ob5s33t2cebIefan338a2k3fd9c,8b3 f014e34vc06e87r9064byb83t8h2bi7e2fn9f211gf1b 6fc6laa6o77oakds060 d2bn6dfoc9radm8a6alb307b.1c dfBccdu7t85 b9caabb756e2h31086i75nd72b5d643d 15t929h0eae36 ee42s6962c174de90n045a8ee10d1s044f,5 f6tehdf8ee a92l1fffe99t091t23f02ebbd00re68s9a 813e5a0ree300e 2249al5355a2c472f3ed91afd7bc0 836wd2ei58c6et2a48h759e6 ficf4fn6821v51ai0as9i2047b3l438e2381 6be2j2e91u816f1n77fk11 fd2cb06h935ca0r6a76ca17892ca2t298e8ard16sd1e5 2d150dfebs0ifbaagda86n6672eef8bddafd2d 3850cta9bo62e96 7cb27bod1203ndc3f9ud1sbeb294a dc34bf2e31o96t327ds19aa1,19e 4910cd222r3fd7aad4w49b1l7e6a6e87r7s909e,5f1 cca4a39711n4adc70ff 2fdce09v003ee4346n33 35s3ci9985emb8d4p144lffee54 7c461o9fepd2y6c/d141p5a1sb7t50a07ed4.d846 03631Ta486h64bde3se6edd143 c1ea23e1xfe6t002r0fd9a0 92985c16h604fadfb9eref6cad584c1249tceadc6ra032cs7 b972d705o8ednb77’169tda5 1sahao8wa3 dubcpaa88f 309d9oc9674nd31b c26atc87b0h3dee7 47769s03bcc81cr67ea8f5ce65f93n6 629—a78b dbbucc7t1e50e 5b65ft62hb1e1by06 30a9dd89o3 fc9c54o918bfm1e952f 7w23f98ifc862ta1bh88dfa ecday1646o2362udf7 8ebwde81ha353ebne 16a11y9o9edu250a 310t5de8rae2y870 46t126od784 59s7t9e87f5da8lb285f e9d2t72hde46 1t6e8d544x3t9fb6.2

Tc4ef5rf353fy8b 5id85e4tbb7 9e469Y2f010oc7ae2u562brcffsbe72ec4lffcd9

S3e5fdcale956def3e5ca73t746da ddf17scb20o46mf5ed470e f56o16fcda0 4281t2h96di9624sf bfgcbl9672o5a473webci0e58n8d47g9c7 6bed57l583u2ebb 5502G8bche3342ob0ffs3fataIcn60k9-4b46p8fccrfo5fftb630e5b1ccf9t6e7d7cc a957tbe7152x5fda5t00.65b00 300cCb256obcb81p63ydb18 3562i02ftd9798.97 f275P0452a35es42e5et9c393e1315 0i22685t8 70i08nb4838td0b7coa 13a1c9 ban438o25t9d336e5p2e75fa25d6dd9617e,0797c ca122e8m5f5a0e221i3e6f1lc,023f afoa0f50rc603 59e1m639f5ecd6s7sb477afaag18beed0.2954 62-8e01 aY75o6b3u463’0bledl8b03 18681s6eb7e77 5b4h0134o8f3d7w84 8cdbt80h1537e2 47fccl59cb3edbadeffn3af21 5fb2s77ue579r9c904fa89baeeca76e405 ah0bi3dec4db0a89e95a6s25 81a3781 237bm8f6ae61bsb1se36 bau0ae5cnbed11b41e1rd4ebn4598edaf16et72762h78.5f

A machine sees this:

Code Block
Gd9dfhdb0a1of938s5t6370Icdd8enbfef3k9c d6p0654rf4341o2t4e90cf599tf6sfa032 ef45se7d56e883nbsfi80d2ft6fidf3v247be3ff 6e1werca923ida00at59f8ib7n99c82geef09 64b12f46y2de d69m101aeekfebic5e06n2g51e f3b8ib08aat2a015 cb8h13b1a5e59r5ac0da1152ee8r9c9 eb16ftbo3 f38baca51eeo0b99p2f16y22,11 adbbs7440c7a4fcrc572a74p6ef2,a418 3o18d0r36 f6e5932x5f5tebfr975aefcafc5d555t9b 4721awf9a2ie7b98t4cc2h70oc0bu2t553 82p8c95eca9r7b44mef1i6sce8sai2o539n63.8d3

W7a8hbc15ee84fn9b84 7f8f6y5d71cobu898ad b303re2ef72a26b94d05 btb87bfe8x2tea0e7 1pa1r567f9oeaa6t5ebc93t5e5ed22fa bfb51bc7cyb ee5bGfd3ahcf649oes22t74I86nfec6kf,0e98d ce0dc95v26ae19rad9y26e3t550h32fiff2bne27g8 f0db8l7e03oc98o87561k22bse383 abe3cn8e74o8r0d3m49eefa5e4cl8ba5.f32 3e877B51ub5060t4dc 8b9e60hcb779if67dndad9 8fad9tc14h6e53b dfs2c4efb5n809e5f60se043,514b2 bt3hfb6cebe 4d74l668bee98btb64td10cefr9s13a9 3a96ccrcc1e9b3 bbl73ab8cee7d2 23w9020i5360ct98h7b23e 9295ci943n1v3i3a78s2i34b84lb7de3f dj1dfcfu76b4nbk8 2482cf0ahac15a937rbab5c71e8dt637f5edr45cs91a 5ac4dc7fecs8fifee12gbn3cebdac6f1 4t53ebo01291 c1bc9o1nefc49u4de9es42bffe0d8 6b44bb49o5t434s7,6 0bc611dcr65b7cac5dwc08alebcefr693a2sde33e,f8 a1a40nacd4a 8e687ee20vc013e2a05n57a5 0a3scd9iff0m6ffp4d43la3baed 8c5f3o15280pe7y280b/7cfp32a5da4se81t5bb2ea7a.f0 5bf7T1f1ehf1cdee5f0s7e5e5 b17e6xfe4tabr0dd83a2d 311acdhca002r1110cabb7c45460tae06er0b4b6sc3d 3847d06dd3o6fb60ncfff7’e55t05 1fs53b9h7e260o31w243 a9ub2b5p9c111 eboaen1 1cte4f2hbb2e2edd9 73ds6c7reee281fe30967n4ced bd—8428f 9552b019ue2ft91 b8tfd649h398e91d3fy369ef 895d7cb31o6e d6e6ecff62ocfe38m5173eeb 8wecedief62t95905hee7 e5593y3o41u8cbc 8fweha01e7c360n62b 4y11ad0obaucb976 337tbcc35rdy0 ft98o67 7es1t58deeacae4dlf2615 4et0b0h3c6a7ef2fe 782t9de5fxeb24t45b5.4

T993r16y06075 e5i17t89b 952aeY922oa97b2u9771brb7d9sb1c20eblc5feeba8

S7eee5e61l5e4c7b7t12 34cs0o72fbcme5ecb1c b9obf5 1t434bh8i9s236 72pd4e5i8fn3k56de 3377G8haeodds516te43I88nack4f17e-66fapcc7rb7deo8bf6t4eec97tf8e5d9e8 551c2t12ee5a8x9c2t796ee.197b4 b44C7fcc5oa4pd006y7c 7901i7d962tc94.67 9eP4f8a1d8as7fb29t51ee02 a17d4i96t7 e9i1nct86cob6 8a9ca9 2d8ndo0ct498e64p5c9a6da1,5d 4ade3c1mb85afa85i2celbfa59,8f0 2da95o41e7er0347 9mcce18c3sbse3b7a69eefg4d4be7.0b9 43-9cdf3 1Yfbbo695u01’f1c1l38l2 2s8e2be15ee8 526eh4o2w3 de3ftbah12d21e3429 6c75fl7e7970a7n395 8461s56707udcabrdfadfadc122b4e886f2 636hd68ifcdfee11s3f aa99 0da7mae2c92sfes6b3 74auc5a7bn00d244ecd9dre0n93fe0b9ae8fft9had.

Limitations

GhostInk is designed to make digital copying, scraping, and extraction more difficult — not impossible. It protects against casual theft, automated crawlers, and basic copy/paste methods, but it can’t defend against everything.

Here’s what it doesn’t prevent:

Screenshots and OCR Anyone can still take a screenshot and use optical character recognition to extract the text — though formatting and accuracy may be reduced.

Manual retyping A determined person can always retype the content by hand, just as they could transcribe anything they see on a screen.

Javascript-disabled environments Some features (like scroll-reveal or hover detection) rely on JavaScript. In environments where JavaScript is disabled, the obfuscation may still appear, but certain protections won’t function as intended.

Skilled scraping Developers with enough time and intent can write scripts to strip out obfuscation — especially if the structure is predictable. GhostInk is meant to raise the cost of scraping, not make it impossible.

GhostInk is best used as one layer in a broader strategy: it slows down unwanted copying, frustrates bots, and makes authorship traceable — but it doesn’t replace common-sense security or legal protection.

T2h3i7217s15 cidse6 eeab26 186t86e248s55e5t3.d