html2wp / データ
html2wpはあなたのデータをどう扱うか
お使いのコンピューターから何が送られ、なぜ必要で、どれだけの期間保管するのかを、わかりやすく説明します。READMEでは同じ内容に軽く触れているだけです。クライアントに見せるなら、このページをご案内ください。
変換そのもの
サイトを変換するには、サービスがそのサイトを受け取る必要があります。ステージ3を実行すると、スキルは1つのアーカイブをapi.html2wp.devにアップロードします。
conversion-manifest.json:サイトについてあなたが決めた内容astro-report.json:ステージ1で作る、ページ間で共通する部分(クローム)の一覧astro-project/:ビルド済みのサイトであるdist/を含みますchrome-at-rest/、chrome-groups.json、style-specimens/:存在する場合のみ
つまり、クライアントのウェブサイトそのものです。マークアップ、スタイル、スクリプト、画像が含まれます。サイトを送らなければ、変換はできません。そうでないと読める表現がある場合、それは事実に反します。送られるファイルは、SKILL.mdのWhat goes upに正確に記載しています。私たちの説明をうのみにせず確かめたい場合は、convert-remote.shが読みやすいシェルスクリプトになっています。
アーカイブに含まれないもの
入力ディレクトリは含まれません。送られるのはビルドの出力だけです。node_modulesも含まれません。認証情報らしきものも含まれません。対象は.envと.env.*、*.pem、*.key、id_rsa、credentials.json、.npmrc、.netrc、.ssh/、.aws/です。中身に秘密鍵のブロックや明らかな秘密情報の代入がある場合も、そのファイルを除外します。フィルターは除外したものをすべて名前でastro-report.jsonに記録するので、何が送られなかったかを確認できます。
お使いのコンピューター上での作業(計測、元のサイトとの比較、修正)は、あなた自身のChatGPTアカウントのAIが行います。AIが扱う内容は、あなたのアカウントの規約に従ってOpenAIが処理します。ChatGPTをほかの用途で使うときと同じです。
保管する期間:ワークスペースは、最後に変更されてから48時間後に削除します。残るのはダイジェスト(ハッシュ値)だけです。これにより、同じサイトの再実行を2回目の変換ではなく再実行として数えられます。
ゲートの結果
ローカルで変換を検証してから、スキルはその結果を報告します。これは必須です。前の変換が報告するまで、次の変換は拒否されます。報告の内容はごく小さく、除外方式の代わりに許可リスト方式を使います。
- 送るもの:ゲート名、結果(合格・不合格・未実行)、ページ数、最も低い再現度の割合、不合格になったページのキー。キーとは、
aboutやpricingのように、あなたが付けた短い名前です。 - 送らないもの:URL、ドメイン、マークアップ、文章、スクリーンショット、ファイルパス、ライセンスキー、サイト名は一切送りません。
send-verdicts.sh <workspace> --dry-runコマンドを使うと、送信内容をそのまま表示し、何も送りません。
必須にしている理由:ゲートはお使いのコンピューター上で、サービスからは見えないWordPressに対して実行されます。ゲートの結果がなければ、サービスにわかるのは変換がクラッシュしなかったことだけです。変換が正しかったかどうかは、ゲートの結果なしでは何もわかりません。結果は365日間保管します。
変換の記録
変換1回につき1行です。ページ数、クロームのバリエーション数、ブログやショップの有無、再実行かどうか、拒否があった場合はどのステージか、ジェネレーター自身の警告を記録します。警告は伏せ字処理します。行を書き込む前に、ページのファイル名とURLを置き換えます。記録は365日間保管します。コンテンツ、アドレス、サイトを特定する情報は含みません。
不具合の報告
POST /v1/reportで報告を送ると、その文章を書かれたとおりに保存し、Resend経由で担当者にメールで届けます。担当者がそれを読みます。保管期間は90日間です。90日間保管されて困るものは、貼り付けないでください。
利用者の識別
- キーがない場合:変換回数は、Cloudflareから見えるIPアドレスごとに数えます。保存するのは短縮したハッシュ値だけで、アドレスそのものは保存しません。
- そのハッシュ値がどの国のものかを、Cloudflareが付けるヘッダーから2文字で記録します。これは上のカウンターの隣にだけ置き、ほかには置きません。特に、変換の記録には含めません。変換の記録には、あなたの居場所がわかる情報は一切ありません。国の情報でわかるのは、html2wpがどの国で使われているかだけで、どの変換があなたのものかはわかりません。不明な場合とTorの場合は
XXとT1として届き、推測せずにそのまま保管します。 - ライセンスがある場合:ライセンスキーで識別します。これもハッシュ値として保存します。キーはUpdatePulse(
updates.designready.studio)で検証し、UpdatePulseはキーを参照します。 - キーの確認、Visual Edit Proのダウンロード:ダウンロードページと
npx html2wp-licenseチェッカーは、入力されたキーだけを同じライセンスサーバーに送り、状態を確認します。応答に個人情報は含まれず、ページもチェッカーもキーを保存しません。
ライセンスの購入
プランはPaddleを通じて販売しています。Paddle.com Market LimitedがMerchant of Record、つまり取引の販売者です。支払いについては、Paddleは私たちのために動く処理者ではなく、独立した管理者です。購入手続きの際、Paddleはお名前、メールアドレス、国、郵便番号、支払い情報、そして入力があればVAT番号を収集します。これらはPaddle自身のプライバシー通知に従って処理されます。
Paddleと私たちが扱うデータ
- Paddleから私たちに渡るもの:メールアドレス、お名前、国、取引IDとサブスクリプションID、購入した製品。正しい人にキーを発行し、ご連絡を受けたときに注文を探すために必要な情報です。
- 私たちが保存するもの:ライセンスサーバーUpdatePulse(
updates.designready.studio)に、ライセンスキー、メールアドレス、お名前、取引ID、購入日と有効期限、ライセンスの状態を保存します。 - キーのメールはResend経由で送ります。Resendはメールを届けるだけで、ほかの用途には使いません。
- 請求書用の会社情報(会社名または屋号、住所、任意でVAT番号、メールアドレス)は、支払いの前にFor a business or freelancer(法人・フリーランス向け)を選んだ場合、ブラウザーからPaddleの購入画面へ直接送られます。Paddleはそれを請求書に記載します。このサイトは、それを私たちのサーバーに送らず、保存もしません。
- カード情報が私たちに届くことは決してありません。ブラウザーからPaddleへ直接送られ、私たちが見ようとしても見られません。
- Paddleのスクリプト(Paddle.js)は、料金ページでだけ
cdn.paddle.comから読み込みます。購入画面が開くのがそこだからです。このサイトのほかのページは、Paddle.jsを読み込みません。
保管期間:ライセンスの有効期間中、その後は会計法令で購入記録の保管が求められる期間です。
サブスクリプションの管理
サブスクリプションの管理は、Paddleのサイトにあるカスタマーポータルで行います。解約、カードの変更、請求書のダウンロードはあなたとPaddleの間で行われ、私たちには結果しか見えません。Proを月額から年額に切り替える場合は、サブスクリプション管理ページが、入力されたメールアドレスをPaddleに送ってサブスクリプションを探します。見つかった場合は、Paddleが保有するアドレスへ、Resend経由でリンクをメールします。入力されたアドレスを私たちが保存することはありません。
お問い合わせフォーム
お問い合わせ用のフォームは、このサイトでご自身の情報を入力するもう1つの場所です。入力項目は3つで、メールアドレス(必須)、ウェブサイトまたは組織(任意)、メッセージです。フォームにはcompanyという名前の隠しフィールドもあり、人には表示されません。すべての欄を埋めてしまうボットを見分けるためのものです。
メッセージを送る前に、Cloudflare Turnstileが、送信者がスクリプトではなく人であることを確認します。Turnstileが動くのは、これを使うフォームのあるページ、つまりお問い合わせページとサブスクリプションのページだけです。読み込み元はchallenges.cloudflare.comです。判定のために、CloudflareはIPアドレス、ブラウザーのUser-Agent、TLSフィンガープリントを参照します。Cloudflareによると、これらは人とボットを見分けるために厳密に必要なものです。フォームに入力した内容を、Turnstileは読みません。私たちが受け取るのは合格か不合格かだけです。詳しくはCloudflareのTurnstileプライバシー補遺をご覧ください。
メッセージはResend経由で、メールで担当者に届きます。メッセージがCRMやメーリングリストに入ることはありません。やり取りに必要な間だけ保管し、24か月以内に削除します。それより早く削除してほしい場合は、ご依頼いただければ削除します。
Googleユーザーデータ
html2wpが使うGoogle APIはGoogle Ads APIの1つだけで、用途は自社のキーワード調査に限られます。どんな検索語が、どれくらいの頻度で使われ、どれくらい競合しているかを調べます。これは社内ツールです。html2wpのどこでも、チーム外の人がGoogleでログインすることはありません。変換ツールがログインを求めることもありません。
- 要求する権限:
https://www.googleapis.com/auth/adwordsスコープです。チームのメンバーが、自社が所有するGoogle Adsアカウントについて許可します。キーワードプランナーのデータ(キーワード候補、過去の検索ボリューム、競合性、入札単価の範囲)を読むために使います。 - 触れないもの:キャンペーン、広告、オーディエンス、請求、そして自社以外のGoogleアカウントには触れません。Google Adsに何かを書き戻すこともありません。
- 保管場所:ログイン用のトークンは、許可を行ったコンピューターのOSのキーチェーンに保管されます。キーワードの結果は、自社のコンテンツ計画に使います。中身は検索語についての数値だけで、人についての情報ではありません。
- ほかに見る人:いません。販売も共有もせず、広告やAIモデルの学習にも使いません。
- 削除:Googleのアクセス権はmyaccount.google.com/permissionsで取り消せます。そこから派生したデータは、hello@html2wp.devにご依頼いただければ削除します。
Google APIから受け取った情報のhtml2wpによる使用と、ほかのアプリへの転送は、Google API サービスのユーザーデータに関するポリシー(限定使用の要件を含む)に従います。
関わるほかの事業者
- Cloudflare(米国)は、このウェブサイトをホストし、サーバー側の小さな機能(お問い合わせフォーム、Visual Edit Proのダウンロード、支払いのWebhook)を動かしています。変換APIの前段にも置いています。TLSを終端するため、各リクエストとその送信元アドレスが見えます。お問い合わせページとサブスクリプションのページでは、上で説明したボット判定のTurnstileも動かします。この判定については、Cloudflareは私たちの処理者です。同じ情報をボット検出の改善に使う場合に限り、Cloudflareは管理者になります。
- UpdatePulseは自社サーバー上にあり、ライセンスの検証のために使います。ライセンスを販売しているため、キーと一緒に顧客のメールアドレスとお名前も保管します。
- Paddle(Paddle.com Market Limited、英国)は、すべての購入のMerchant of Recordです。Paddleが収集する支払いデータについては、Paddleが独立した管理者です。
- Resend(米国)は4種類のメールを届けます。購入後のライセンスキー、サブスクリプション管理のリンク、お問い合わせフォームのメッセージ、変換ツールの不具合報告です。
- Coolifyは自社サーバー上にあり、変換サービスとライセンスサーバーのホスティングのために使います。
フッターのバッジとアクセス解析
- agentmods.devは、すべてのページのフッターにある、プラグイン計測の小さなバッジを配信しています。この画像を読み込むと、ほかのサイトの画像と同じく、IPアドレスとブラウザーの情報が送られます。それ以外は何も共有しません。
- Umamiはオープンソースのアクセス解析ツールで、umami.agentmods.devで動いており、このウェブサイトでだけ使っています。数えるのはページビューと少数のクリックだけです。どのボタンが押されたかはわかりますが、誰が押したかはわかりません。Cookieも、サイトをまたぐ識別子も使わず、端末には何も保存しません。そのため、このサイトにはクリックして閉じるCookieバナーがありません。
広告なし、サイトをまたぐ追跡なし、データの販売なし
アクセス解析ツールは、上で挙げたCookieを使わないものだけで、このウェブサイトで動いています。お渡しするテーマが、実行中に私たちのサーバーへ接続することは決してありません。これは納品されるサイトについての記述で、文字どおりの意味です。データを販売することはなく、広告主と共有することもありません。
EU域外への移転
私たちのサーバーはEU域内にあります。CloudflareとResendは米国の企業です。このウェブサイトとAPIへの通信は、Cloudflareのインフラを経由します。フォームのTurnstile判定も同様です。
キーのメール、サブスクリプション管理のリンク、お問い合わせフォームのメッセージ、不具合の報告は、Resendのインフラを経由します。どちらもEU域外への移転を伴う場合があります。これらの移転は、欧州委員会の標準契約条項(SCC)に基づいて行われます。Paddleは英国にあり、欧州委員会は英国が十分な保護水準にあると認めています。支払いデータは、Paddleが自身のプライバシー通知に従って扱います。
フッターのバッジとアクセス解析のスクリプトは、どちらもagentmods.devから配信されます。このサイトはCloudflareのグローバルネットワーク経由で配信されているため、リクエストにどこで応答するかは私たちには制御できません。この一覧のほかのものは、EU域外に出ません。
法的根拠
GDPR(EU一般データ保護規則)では、これらの処理それぞれに適法な根拠が必要です。それぞれに当てはまる根拠は次のとおりです。
変換サービス
- サイトの受け取りと変換:契約の履行(GDPR第6条1項(b))。あなたが変換を依頼しており、アップロードなしでは変換できません。
- IPアドレスごとの変換回数のカウント:正当な利益(GDPR第6条1項(f))。数えられない無料枠は使い尽くされてしまいます。短縮したハッシュ値は、識別に使える最小限の情報です。
- そのアドレスがどの国のものかの記録:正当な利益(GDPR第6条1項(f))。製品がどこで使われているかを知ることで、何をサポートするかが決まります。すでに仮名化されたカウンターの横に置く2文字は、その問いに答えられる最も粗い形です。ハッシュ値だけで識別できる範囲を、少しも広げません。
- ライセンスキーの検証:契約の履行(GDPR第6条1項(b))。
- ゲートの判定結果と変換の記録:正当な利益(GDPR第6条1項(f))。どの形のサイトでどのステージが失敗するかを知ることが、変換ツールを改善できる方法は、それだけです。書き込む前に、サイトを特定できる情報はすべて取り除きます。
- あなたが送る不具合の報告:正当な利益(GDPR第6条1項(f))。送るかどうかは、あなたが決めます。
ライセンス購入に伴う処理
- 購入したライセンスの発行と管理:契約の履行(GDPR第6条1項(b))。
- 購入記録の保管:法的義務(GDPR第6条1項(c))。期間は会計法令が定めています。
このウェブサイト
- お問い合わせフォーム:契約前にあなたの依頼で行う措置、または連絡をくださった方に返信するという正当な利益(GDPR第6条1項(b)または(f))。
- お問い合わせフォームとサブスクリプションのフォームでのボット判定:正当な利益(GDPR第6条1項(f))。人が読むフォームから、自動送信のスパムを締め出すためです。使うのは、そのためにCloudflareが必要とする情報だけです。
- このウェブサイトのページビューのカウント:正当な利益(GDPR第6条1項(f))。このツールは端末に何も保存せず、このサイトの外まであなたを追えません。だからこそ、この根拠が成り立ちます。
自動化された決定
変換の利用枠を使い切った場合や、サイトが大きすぎる場合、サービスは自動で変換を拒否します。これはカウンターの単純な計算だけで、誰に対しても法的な効果を持ちません。これについてご連絡いただければ、担当者が返信します。プロファイリングは行いません。
あなたの権利
GDPRに基づき、次のいずれも請求できます。hello@html2wp.devへのメール1通で十分です。
- アクセス:私たちが保有するあなたの情報のコピーを受け取れます(第15条)。
- 訂正:データが誤っていれば訂正します(第16条)。
- 消去:データを削除します(第17条)。
- 処理の制限:争いがある間は、データを保管したまま使用を止めます(第18条)。
- データポータビリティ:提供していただいた情報を、機械で読める形式で受け取れます(第20条)。
- 異議:アクセス解析を含め、正当な利益を根拠に行う処理に異議を申し立てられます(第21条)。あなたの利益に優先する根拠を示せない限り、処理を止めます。
1か月以内に回答します。費用はかかりません。本人確認は、あなたのデータを別の人に渡してしまわないと確信できる範囲を超えて求めません。
1つ制限があります。サービスが保有する情報の大半はハッシュ化または集計されており、私たちにも個人までたどれません。そのため、そうした行については、お渡し、訂正、削除できるものがありません。アップロードされたサイトは、48時間で自動的に消えます。
私たちの対応に問題があった場合
スロバキアの監督機関に苦情を申し立てられます。Úrad na ochranu osobných údajov Slovenskej republiky, Hraničná 12, 820 07 Bratislava、dataprotection.gov.skです。ほかのEU加盟国にお住まいの場合は、代わりにその国の監督機関に申し立てることもできます。先に私たちへご連絡いただくほうが早く解決しますが、それは条件ではありません。
脆弱性の報告は、公開Issueではなく、セキュリティのページにあるアドレスへお送りください。
責任者
データ管理者は、BELNEM s.r.o., Beckovská 5, Bratislava, Slovakia, IČO 53713486です。メール:hello@html2wp.dev。私たちはデータ保護責任者の選任が義務づけられる規模ではなく、選任していません。上のアドレスは、これらを決める担当者に直接届きます。
データの提供は、法律上の義務ではありません。変換にはサイトが必要で、ライセンスにはキーの送り先のアドレスが必要だというだけです。