# プライバシーについて

> 問い合わせで保存するもの、保存場所、消えるまでの期間と、プライバシーポリシーの雛形の内容です。

問い合わせで何を保存し、どこに置き、いつ消えるかをまとめます。プライバシーポリシーの雛形を自社向けに直すときに確かめてください。

> [!WARNING]
>   このページは法的な助言ではありません。サイトを公開する前に、プライバシーポリシーを専門家に確認してもらってください。

## 雛形を自社向けに直す

starter には日本語と英語の雛形があります。

- `src/content/pages/ja/privacy.md`
- `src/content/pages/en/privacy.md`

雛形には、サンプルの会社の情報が入っています。代表者の氏名や、開示・訂正・削除などの請求の窓口も含みます。

1. 会社の情報と請求の窓口を、自社のものに書き換えます。
2. 別の種類の個人情報を集める項目を足したら、「取得する情報」の節を直します（[入力してもらう項目](#fields)）。
3. 保持期間を変えたら、「保存期間と削除」の日数を直します。Workers の有料プランを使うなら、削除が完全に反映されるまでの日数を 7 日から 30 日に直します（[削除したデータ](#deleted-data)）。
4. 専門家に確認してもらいます。
5. ページ冒頭の注意書きを削除します。

## 保存するもの

問い合わせ 1 件ごとに、次のものを保存します。

- 訪問者が入力した内容
- プライバシーポリシーに同意した時刻
- 送信したページ
- ユーザーエージェント（ブラウザや OS の情報）
- Cloudflare が判定した国
- IP アドレスのハッシュ（`ip_hash`。元の IP アドレスには戻せない値）

生の IP アドレスは保存しません。[生の IP アドレスを保存しない](https://goodnight-web.dev/ja/docs/how-it-works/ip-hashing.md)を参照してください。

### 入力してもらう項目 [#fields]

メールアドレスはいつも集めます。ほかの項目は、管理者が管理画面で決めます。初期状態のフォーム（バージョン 1）では、お名前、会社名、電話番号、お問い合わせの種類、お問い合わせ内容です（[お問い合わせフォームの項目を変える](https://goodnight-web.dev/ja/docs/contact-form.md)）。

別の種類の個人情報を集める項目を足したら、プライバシーポリシーの「取得する情報」の節も直してください。

### 保持期間

保持期間（既定は 180 日）を過ぎた問い合わせは、ふだんのリクエスト（新しい問い合わせ、管理画面の一覧、ログインの試み）の中で、多くても 1 時間に 1 回動く削除の処理が消します。そのため、削除は保持期間が終わったちょうどその日ではなく、それより後になります。リクエストがまったくないサイトでは、次のリクエストまで何も削除されません。スパムの疑いがある問い合わせも同じです。雛形にもそう書いてあります。[Cron を使わない古いデータの削除](https://goodnight-web.dev/ja/docs/how-it-works/data-pruning.md)を参照してください。

`form_definitions.created_by` には、フォームの各バージョンを保存した管理者のメールアドレスが残ります。このテーブルは追記しかできないため、その管理者を外した後もアドレスは残ります。訪問者ではなく、管理者自身のアドレスです。

## データは日本の外に保存される

[D1](https://goodnight-web.dev/ja/docs/glossary.md#d1) で保存場所を指定できるのは、EU、FedRAMP、US だけです。日本国内には固定できません（[Cloudflare: D1 data location](https://developers.cloudflare.com/d1/configuration/data-location/)）。

個人情報保護法は、外国で個人データを扱う事業者に、その国の個人情報の保護に関する制度などを把握するよう求めています。そのため、雛形には次のことを書いています。

- データが外国（米国など）のサーバーに保存されることがあること
- 保存先の事業者
- その国の個人情報の制度を確認したこと

制度を具体的に書く場合に備えて、雛形のコメントで、個人情報保護委員会が公開している各国の制度の調査結果を案内しています。

## 削除したデータも、しばらくは復元できる [#deleted-data]

問い合わせは、管理画面の問い合わせの詳細にある **削除** で 1 件ずつ削除できます。削除する前に、確認のダイアログが出ます。

<AdminScreen
  name='inquiry-delete'
  alt='「このお問い合わせを削除しますか？」の確認ダイアログ。キャンセルと削除するのボタン'
  caption='ダイアログには「元に戻せません」とありますが、しばらくは D1 の Time Travel でデータベースごと戻せます。'
/>

D1 の Time Travel を使うと、データベースを過去の時点に戻せます。戻せるのは、Workers の無料プランで 7 日前まで、有料プランで 30 日前までです（[Cloudflare: Time Travel](https://developers.cloudflare.com/d1/reference/time-travel/)）。

そのため、削除した問い合わせが完全に消えるのは、その期間の後です。雛形は無料プランに合わせて、削除が完全に反映されるまで最大 7 日と書いています。有料プランを使うなら 30 日に直してください。

## 第三者のサービス

- **Turnstile:** 問い合わせフォームは Cloudflare Turnstile を使います。雛形にもそう書いています。
- **フォント:** Web フォントは読み込みません。starter のサイト、管理画面、このドキュメントサイトは、訪問者の端末に入っているフォント（システムフォント）を使います。フォントの配信サービスに、訪問者のリクエストは届きません。[スタイルとフォント](https://goodnight-web.dev/ja/docs/architecture.md#styles-and-fonts)を参照してください。
- **Slack:** Slack 通知を有効にしても、送るのはサイト名、フォームを送信したページのパス、受信日時、管理画面へのリンクだけです。フォームにどんな項目があっても、個人情報もフォームの項目の値も Slack に送りません。
