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:

Gb4h1614o36745se576t1Id6a3nf409k4e77 ebc88pa2b2rcc7oeacte3e4a79bcd7a80tc4s2c907 5sae8fbb0n6f88sbi59a1ate06i8v065e0 90aw6443r0bidt9icd23dnd412g10 2bfy5fc54 c125m2aa44k35afif83an8gd3b0 1i745et89c49 12h0aer51d5be5re8c 34d43t1o34 71866ccd26o981pd532y897,cadb 3sea86c134afr9ba0pbe06,d 0f0bdo3bf77r107 b4f7e9ax32t14b2r3196a8cb8tb4 52wbdbdi695dtah3oaf1cdu5388ftd93 88009p43eb9e56r88d2mcdiaas2fes90d0i9fdfo6756n3a7.f4

We347bh032f4ea6046na9b2f 33y681o6cu244 aeerc518eaabad24aaf 13tce3b1cx8ftd 4pbf438rbdoat4e6c4tcf5ee92bd7 acb56y918 6Gd17hf64o22s18b67t5I9d86dn82e6k81,7bce3 19ef0bvb7e1rb1fy4taha1a8fi2002n476gadb7 556l0f43ob3c6od794kes9 4n92o31r3m37a6cac3l7f7.a fB408u595t88095 b6b2fe8hd360i05da6nbbc54d0bc b00tdbfh36f07e13 aeds54c19aed78n99707e1s9d,c94 a886t8ah5ae18ea7a0 ff2al1edb29ftbd80ct67e0eb36cr4867s9e9c a8ac8rfee40 abd3el09a026f7c48a5e81eb0dd3c 6c0e2w7f7f5i4e454t98eh7c515 384ic6144n39c6v7a05ia3e0s400i0db19b2l972e7 18j4u9nd1ak58 1e6c8e6dfh06a54raecea43c613t1e065r14169sf5763 3d7d5e3sai5g0211ne7e31da46 05tfo2 4c0o28c5n4f71u89913s094ae4d0de ba71bdoft99a8cs83a,26ede b5c05rd23a0wal4f2ed2r3s17,a5422 5ae38nc10d9f9 7e3veeea31an2058 7ce9sfcbb1iae34m03p42l6e3b5 9c4b9bo4b3epce21fy3/b9apca17aaecc0s2b7dt6e6ea9.e 17637T0hb7ef1s8c1e595b 4704ef5cbexbed72tc39r34aa4 d0acdah5de69a8948ar0a3aa86c9t6494e8r19010sd273e 71dd13o497n349beet4c0 8s929h8ob1wd 2edu498e6p10e a464do88bdcnbd79e c36t01ah2f34e08 5sac1e7fr62dfe1aefee3fbfn1ce 17aa 29435bcdu196tc82 bat3ehb6eeea3y64d 8564dfoa9070 838cc4o95d0dm5f9e8 e312bw62aei1fd2t2ch5 76cy7c34o7ua9 09bb7w2b700h1d2ea60cdn8071 630ya22o3u2 ft7c7r81y4643 ee9t1o8f2 91e0s4cbbt5e64ae23fla4e 4f6tb0b2h776ed3cf c488t9de4608x9t0.88180

T70edre4bb9y1c 076i801t132 42a4Yf78afo354e4u1b39cr368s2ce8l6bb3f1d6

S4fe5cl492f0e97115c0c6t593e7 319sa51oa2cm2a4e52 33o32a0fd6f1a f61f5t8f895hef4i67e7s2 1g3l0o3w86i93cc4nfgf5c7b 984bbcel0d1u25e752f b3dG68h8ao48s613t478fdI2d3fnf99k618fd-fc0pb95rcb1c6o617tde938cdtc2bec5dd0 at4610e72fx860ct520.6b31 5bC03bo4p52aby312 5bb79i8ct136.553 4P9ab67fsb9eft143ed 82e8ib174td eae10ic2b1en7dta1a5co684 5a1f 99ne2abof56t43e8p1dca03eed5,8f970 37b4e951fm82c34a56i91ld880,c ad0offbr479 b5c06mee63b2s06fs105e7a2ac28g52fee769.c 7c47-a6fbc a1Y9o5cecdu51cel31f4l7b 68s4eed2441e98 a73dh293ob2b3we3 fc23et38hbefeeb cc270e1l79ee41a3ca7en6e fs5ud6er2f82da3b9cf6be60 4315hd3i3d3d5e3c73s0823 169af3 bm1e6e87sbadc6s84cf b0f3u411ncb84cd6a6b5ec3ra89n08b1ce0a78ct61e6h46554.03604

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.

T2h257i5s2583 1ias1ad 068d9a8 c043bt0def8sab79t99370.f66