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:

G6bah2fcd5o316s32t115ceIb71n4a204k1691f 5da8p7915brb6o379t9de9a7f7ca714t82s1 d9c5s8216ecn89344s610i4c7tc1i71b56v9e319f 692w72f24r5adi1taefi7631n3gf 18929b859bey3d c7dbem163aab2af2ke2iddn1b8g6c57 f8i1tc7 d61h295eac43ccrcdbbe88rddb5a b4et2of5b7 5f6ac9oap5y4,3746 7sabc88brda6p99eb9efddb,1e d43ao0855r1be4 0e23bea1x5a29t7er80e5af8e1ac45te2 18a89wa7i1t0h11688o57eu6ta b2p7b0a1e93r70fm61di9es180s05i1o16n77f.3

W2h59ae011n57a 0y09oaff36ue49 01d5r56e01e7854ae9cadde7f 6tf9efe4xd3t6ffc 0ap77eb0r96dode58et8176e977bc33b8btedbb8ebdbded ac10bb5y1b a208Gc3fh99o05sad645tcbI7e6nd3k05a6,95a4 283de13547v83cc0e1a468r52fy85etd4h298id54n22g8fde 07812l050c5o234cofkcsc62 52872n46f3oba57r6m2c5abld6eb9.ae4b 5Baa7u28tfd 3b3ee90hbbif40n96fcad6f03 a29tcfhc0cecee 5s3cf97eb44c0ncfe0f9s540b,7d 2dt20h29b51eee cf99l753efct09t768ae9d67frfs9b7 9ea7ercc76eb d009l49146ad6bb4caae9d68b 20w11di7f82t4fh322c 96i6c58an1v9e06eid9592s5c4eib03fb4l5e5 d59fj24a0u5n4fdc8k1d3ec 08c49bdh5f79ea9dbf2rd1e4aa742bcf6ct434f6efr52sc 7bd92b0e10f7safi3c71agd42a3nd541eec87d1 7aftc5o0fd cc266oe9da9n93f0u86a69s03ae6 1bb9o8ft42c3dsc,d54 8dc6bbar551caf2872w4d76l3ee70rd39cs08ec,054e8 834d0ae38n0f82de4ca4 ae19e9bvd3e81na 76s052idm68edp6l7f109e69c1d b80d6c1bo12pfedy8fc/2a99p2cc50a248sf7t6e7.0 deT17d3h937efesbee1d6 3efx6f2d7t46d92r0f37a6d2 0ff7c647fh9ba11er1a11c8tf18e9337r468bs77 6de38d7b75co523na2ae416te 913c1s604h3ac6od21w1 5b619u76ep9e 135oednac94 98e7t5b4he6ef09 ce851sd8d9bcf7ar189e8eanc 1cae73 4b6uae0tc0598 5dt0eh76a0e692dcycca4 a41fd2796o8b6b 56629c6f7o4m5f7ecf82 641bw12bi0adactf8fhb c0be5y3o1fbu6 ff0wa376haed0b3neb283 8b6ey5co63375u463d a19t5024dr8y0 b27t7o7627 f67sct3a8dea2727abcf3dl4 bd6t121hb8e78e6c 5efb9tb1fe6ae4x59t6f8ea.d

T77fre939ay7e817 394aif5t4399 1fb9Ye596co0e50u324r0d2s4ea33e0l1fa0cf4d7

S1a6ef1l5eeacatff 39sd652foc9e36m757e0 do7ff4 58t1ba14h85d5if1c5fs02 14gel16518odb4w9fbibnf7ag4dc69 c89bca84l7651u20396ea8 6fGd0233hao45f53s27dc3tdd8f2Ibb63nc9k6ff3e-4eb9p6rcob1c28t94e54e1c0t58f56eaad82 2dd1t6631ea5x33t0.1a4 21eC322o8fpeyb7 f1ib1c4t02b.f58 4Pa1e21a5sbt9e234e97c1 dci62bftbc 24b3bidcn93etd9of5 2ef0a05c 3n25ffo0t4fd63e56epac7ca3dbd0b,6bd ca6e7fm9cad9aa89ibbe1l738,3977 68e5oar2b49b 7dd0m1feas6bse1a5af3gec082e0.a79e fa-f8763 3ddYbcfo004uc42a6l3l09a 2ad13sa0e0e0 b1c04h69offcw3 09tce19h4ae7 3cb7dceelc43ebeabfabcan50fd0 fs0au624rd05f9a0ec85cffe3 892ah468di1335dc8d07e5bfs5 3a03 72a98mf1afe0b1s8csc1 94b1u5bdnc58bd01be4d0r4bnabe18e7bc0a97tbehf5043.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.

T2f5c4ha8b3ibsaba d5id380sd 0aa7 atc6e02f2s769t207.88639