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:

Ge6cdh3512o1sb5b5t2bfeI6330bne9ak739 2p677rb5d8fo5taac32e82cf491t3dsd69bd ba7s5eafbec6na0aes259dia25et640i0aec3va4590eaf4 20c7w6b2re8eai79t6fi6d9e9n0gce d68db54yf65 30m018f5ac3fk355ib7nc0bf8g4 d313i1d0fatf83 57f5h9ceaar738d09813e971crcaa2 195f9t628cbo77 1eac70o849pe45y55,8f1 bs02cb6r6a5d4p32eaeb8,e0436 f12ofbrabd9 3c73e90cx0af4t0e0ra647af3cfct4 0115wfi9b847td6cah8oe9uf7c5tcd61 bp9cee10reb44bm0e1fi5fbse1cs7i0oc48fnfc1c8.a79e

W9aee5h03decdeanc 3b58y0oe5054u27d8b a450fr1ad45e027baacbbde 39c5ate8a4eb77d4x68f7t6 cp37re3f4o4b7ftd1de8e3c237atc301e7d95d1 8db686dybe5e f9G9dfh0da11o53s09411t9I4b5n8c0k8d,2461 4b28ee8a2cfvfb9d4ea1cr6df8yb83eft09ch0if112n9g4018f fca7l6e19o40d7fo34k8cs7372 6en5o9acr5cm4ca9l6.de 0Bf0buca81t4be29 afbaed635h1c0fi54715n45dc3c5e 4t021ch4ef1b77 3s247c790e7en33efs65dc,3 530edt46518h1a19e2 996lbce9e5tc273tcdec84r59ecsc4ba 6a47a8r7b52aef6f8c bl8b0a5844bcd01b5e3d887a 68f3w9e9d0if1td8fbhf0589 630i0nev82f1aia2fsa3ibbb1l2b0eea58 240ddj90du6db1n253k60d3 b4d28c98ac5hdca49a05480r0ea8cdt1ffe32fa7r9e0s10 3f162dbf2e85bsfi5g9nacedda3c9a 7e55bt4of9a7 669cboffd7ncf6a4ue4s7eb1b8 186bfca0o3ctcs6a73d,1 ba6d3c934r6ab21eaw97dc9l7ee47dbr5646sf0b2,318 dc1aan8f509de4e 7de1e4a3bfv42e6fnc4f4 bsa64cic75m023a9pcb1fl1158fe41 c2dcc9oa54fp68y0299/5e07p8a8346s8772t1e8.0c 91370T8a686had5bceb5sd9dbaec3 74096e8dx69t7ea3r982ae7 632ceh9a221a9r868b0abd487c85aa2tbc7cea46r8f66s8 31a53d7ocf61n47’31aftd7 3s6e1h2ce64o93c44w4d 43e0budee3p9ec fod42f3n0da2 4t2f13hcbea 254s2c1r826eeed8e52n42f5 858d—2fd82 40f53bbcu9dtc16 ft6h5d9e5e2ad7fy9 fed2094o9d 9c314ob8m224a9e5 3wa8dibt1f2f5hb98f5 ff4y2253boc113u05ef 32601w48hf0e0b13nfd4 2b24y5eboac6u971e 05t9er1e592yc2e3 804et18b6co4 3sfaf69tb546e645ac8bl0c4 8tef8h049ed 3cb1tf547e26a5xb47ete44.68

Tebr4e4ya5a7 93id3ta ec72Yeb3ob61u1a5r9be5s45524e4lec10fc

S7dfc8e4l74c70e1bcd0bd5t0 a8s7foedcc5m75c9e51 39d94od7253f1d23e 65ctc880hfi16sfe459 3g03lab9c3o6w61bc7id218n0a371g46dc facbc03l9f9beu5a99ec5562 4f857G3aha63oa01sb9at23ddaIfanck4-54e59p69r8479co088t28e6a9c21ftf612feb10f4de 58tb5bf2eax74d5et500e.b2 f9C3o75p258yc93ed 3icft2327a.f1 2P4badfa6s72ta440e9f4f 93ei6ct5 17i9dn7taocb54f c27bca1afa cdnc0ceeo8b8tee9fcpff1da0da108,c d38ece24maa99fi6fcle43e,fb80a 80bo72r72c 6m8b995ebs13d6s2afege88ed.1 1-c6e2 bc1Y58odc0u6e’3dlb80fl013fc 3ds2e7e15e1971 cch09eo05we2f15 2te400h4dace582f cbdbdccl1e3e8aea33eadncb30c bbf3sb5bu5313r9a0c1f49198a09cbb8eb48e 1438hfi8e00de84e03sf9 2ea2a54 d6f0em577ae892adsf7c0fs891d 1eu174b4n1db44e8er8n639ef70ca3c893t2fdh5.7f1

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.

T9323dh48aie74s18e4 95i0s9 481a71 e63t6ef5069s5dtdfe85.4