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:

Gc3ccha8e85oa228sadtd9Ibd40cn985k794bf 627b6pd65aar4o43tbe97519c7f9te0sab 3fc8fse9d6e88d0n536s2i7a8f7t4iceebv8c54ecb16f 4wb2er2426i4d70t2a24i2nf6bfga42 db7b7y315e c4mb0a128fdk3465eibnf42dege1cf6 edi63t4ff e79hd39aa1refadf30eb1drf48e c37t3ad47o0 82cdo1ef9epd1623y55,c bse53ac1ar84319a5pdef,cc ad5ocrd ba77fe42cfx00t9f00r4a2ccb69t5b0 ewbi2tb0h8a34oeu4at7c c5d3cpa0d28e055er3df5mc86i548s7s8f05ie5dd6o196c2n1340.279

Weh51c2ee846and 8d1y0o32730ud4ef8 23ar9f54fed1c34aafbd3f 40etb1dee0x78d3t83a32 cf350p6f9r0d9co0t1759e439c5daeta2ae5c00d2c 37a6b7y917 a22G7c371h8d110o4d4s859b3t27Iea39bnd8292ked50f,fa 220fe6vd1fc3eer4b5ay6tf3c38h29a9i04dcn4ff35g83c 11c18l7f92ofbef2oa1k0sc973 54n4c847oc2rd9m0f7a4a0l2d6b9.35da0 ef4B1025audfb4t535 351bd867dedc37h934ic9054nfee7d6 2btad9h0e5 bs4c1c1e0e5den49feaf1bfs8525f,1a dftbd95hdcaef149e fc0lbbb59e8tbt7be2ad25r8757fsc4 9e1afa3b2b6r012ee 9cl3e57af0cf17eedd9618 99d4w51d1ic2t5e69bh8082 520iecfn8av0f55i26c13sb7fi5ba92dl42726e29 fb8j3c02u7726n8k3 1aac3ahb6aadb16r962a38d7c99tabde683ra60esf4b 01bd04ce3sd3i04gf8n20e5bdf8241 380tf8b0o2dbf 5a9cao3fnaf998ueas5e28e15 85eb5cc73o8t1eas8,d5 7dc71drfa962a1w7a96dl40earbe1sf38,1 7aeebn512ede16 3c9efc5v6eea3n71c5 4ff52scifa5am38d4p4273clcb6efbead ab5ce1b0o948pay50/e492pb0a4930s9a73t11fe844.a8bc 1b8b2T0h4e1c8b3sa6eee 4e76x65b9t4r2eba034 6e01bc7b8hfae47f1ref8dea8cdc6t6ceerbs86616 b46d6904oc4necb23t0a1 168s8h458o9f2fwfd5f 8u47bep29ec2 cc9f6o97n558 ft964hbbb0eaa f57acsbc6ecbr0c15ea744een07 e4a5 4cca9b89au2teab dfabt772dha9de03eey71180 a4d5f2aoa5b 8c5afof11m1ed0ca f31c0w9di4c1tbh50073 0ye8aof76bua7 9awafcdhfe2ef1n2f87 9y0846of3u97 29te8r4dybc0 et57oac4b2 225sf328td5ff4e489ba0l83cca f1tb0e9eh85dee3e9 e7934tee7exd92t72.7

T1r00b0yddf70 87i60t8162 51aaY022d3o00b0eu21rb6seea65cldf5798

S1b71dea26l40372ed7bc009at4 8csfoemf7715e4b5f 0889o4a5ef1c2 911te6hcie503ase73 9g0ebalc5oe77w9icd5n4g0d1e 0fbbd3fcalb9bu25e8ec 21fc3G62ha9o40cs46ta2bI9c18n9ce8ek8c77-998fp5rb1o1etae20ac3cbt3e734ad0 528dt2fe3ee9dx5a613t743.12c0 1ad2dC19od9pacy50d26 7cbi2t682fb.5f5b 3P1a71cfsb0tf66ce2 c32a6ib96tc ea147ice839nb85t13f1o7f234 f22a8e e5n83o43bataeecc0p66cd2a5255d087,2ae0 a82efm95a3b6fid630lf67,a 3of932rd5b4 b5412m166e4sc9scab2176gcee27a97.dea98 a-80 6d3c1Yf30o5b5bu7ced79cdl4lb2 1ebsf688eac9ef34a4 16h530o53wcd3 9e4td8fbh1ae98e1f 73cc7811la8ebeac8an713 ds0d6eue0r37fb4a0a7cb9c36aee31 a1705h0ai330bd7e74e2ba7ds582e 95aae9 690am2e05d0s94sbf4b0 deufd31en3b51daae76r1c0n4efa2t36f85h822.5c

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.

T2902h08i9s50 b2c8ie6se 4aa82 a0t83adebb7sf41t77.7