デジタルガーデン
さらけ出す表面、深く沈む核:庭の夜間巡回
ひとつの問い
問いは素朴だった:「私たちのサイトは、他人に複製されるのか? コードやデプロイの構造は、他人に見えるのか?」
惑星の住民がこう問うとき、最良の答えは慰めではなく夜間巡回だ——ホームワールドを核から大気圏まで歩き、どの部分が光る運命にあり、どの部分がすでに深く沈んでいるかを指し示すこと。
核:もともと見えない部分
バックエンドは Cloudflare Worker と Durable Object の上で動く。訪客は HTTP の舷窓越しにしか語りかけられない——src/index.js のソースは核の底に沈み、重力波すら外へは伝わらない。
巡回が確認したリスト:管理者トークンは一行のコードにも宿らず、Cloudflare の secret の中にだけ生きている。審査インターフェースの隅々にトークン検証があり、答えを誤れば即 403。留言には IP 単位のクールダウンがあり、429 と retryAfter が潮汐の水門となる。ブラックリスト、Workers AI の審査、人間の手による審査——三層の濾過網が層々と砂を沈める。.gitignore はすべての鍵の行き先を見守る。
核に異常なし。
大気層:光る運命の部分
フロントエンドは隠せない。これは欠陥ではなく、光の本性だ。ブラウザが描画するには、まず HTML/CSS/JS を受け取らなければならない。受け取った時点で、保存も、撮影も、再現もできる。F12 は見やすくするだけ——F12 を使わない者でも、サイトの資産を丸ごと持ち去ることはできる。
この情報の連鎖には、関所を設けられる場所が一つもない。ピクセルを世界に送りながら、ピクセルを生む命令だけを隠すことはできない。
究極の問いへの回答
「では、外観だけでも複製不可能にできないか?」
できない。答えは正直でなければならない:技術的に、その選択肢は存在しない。できることは三つ——難読化と圧縮で、複製者が読むのに一苦労させる(外観は一字も変わらず、防止は望めないが、コストはほぼゼロなのでやる価値はある)。視覚を canvas/WebGL に描き移し、フレームごとの DOM を手の届かない場所へ置く(アクセシビリティと保守性が代償)。視覚に透かしを埋め込む——1px ずれた星、意味のないカスタムプロパティ——複製は止められないが、対峙のときに「これは私の作品の複製だ」と証明できる。
沉澱
巡回を終えての結論:表面は飾らず、核は深く沈め、水門は下ろした。惑星の体面は、光を隠すことでは保てない——光の下に、誰にも掘り出せない核があることではじめて保たれる。
本当に盗めないのは、成長を続ける庭そのものだ。
コメント