FZ152
ロシアのウェブサイトが連邦法152号(個人データ保護法)に準拠するため、フォームに同意チェックボックスを追加し、プライバシーポリシーページを提供するモジュールです。
fz152
インストール
composer require 'drupal/fz152:^2.0'
composer require 'drupal/fz152:8.x-1.10'
概要
FZ152は、個人データの収集、保管、処理を規制するロシア連邦法152号への準拠を支援するDrupalモジュールです。この法律では、ウェブサイトが個人情報を収集する前にユーザーの明示的な同意を得ること、およびプライバシーポリシーを表示することが義務付けられています。
このモジュールは2つの主要な機能を提供します。1つ目は、指定した任意のフォームにカスタマイズ可能な「個人データの処理に同意します」チェックボックスを自動的に追加する機能で、フォームIDにワイルドカードを使用できます。2つ目は、設定可能なパス(デフォルト: /privacy-policy)に専用のプライバシーポリシーページを作成する機能で、管理UIでカスタマイズ可能なロシア語の法的同意書テンプレートが事前に用意されています。
このモジュールにはプラグインシステムが含まれており、他のモジュールが自身のフォームを統合できます。DrupalのContactモジュール用のサブモジュールも同梱されています。すべての設定は完全に翻訳可能で、言語ごとに異なる設定が可能です。また、特定の言語では機能を無効にし、他の言語では有効にすることもできます。
Features
- 指定したDrupalフォームに「個人データ処理への同意」チェックボックスを追加し、HTMLリンクをサポートするカスタマイズ可能なラベルテキストを設定可能
- /privacy-policyにFZ152に準拠したロシア語の法的同意書テンプレート付きの設定可能なプライバシーポリシーページを提供
- フォームIDでワイルドカードをサポート(例: *_node_form)し、複数の類似フォームを一度に簡単にターゲット指定可能
- 各フォームでチェックボックスのカスタムウェイト/位置を設定し、表示場所を制御可能
- 多言語サイト向けに言語ごとの機能の有効/無効化が可能な完全翻訳対応
- 他のモジュールが同意チェックボックス統合用にフォームを登録できるプラグインシステムを搭載
- UIを通じてコンタクトフォームにチェックボックスを追加するContactモジュール統合用サブモジュールを同梱
- 適切な場合にチェックボックスの代わりにプレーンテキストとして同意を表示するオプション
- 言語ごとに異なる設定が可能なカスタマイズ可能なプライバシーポリシーページパス
- 独自のページを使用したい場合はプライバシーポリシーページを無効化可能
Use Cases
ロシアのECサイトのコンプライアンス対応
ロシアで運営するオンラインストアは、顧客データを収集する前にFZ152に準拠する必要があります。FZ152をインストールし、「*_checkout_form」や「user_register_form」などのワイルドカードを使用してすべてのチェックアウトおよび登録フォームで有効にし、プライバシーポリシーページを会社固有の情報でカスタマイズします。
選択的な適用を行う多言語サイト
ロシアと海外の両方のユーザーにサービスを提供するサイトは、ロシア語版のみでFZ152を有効にできます。ロシア語翻訳でのみ「機能を有効化」をチェックし、他の言語では同意チェックボックスが表示されないように設定します。
コンタクトフォームのコンプライアンス対応
fz152_contactサブモジュールを有効にすると、サイトのすべてのコンタクトフォームに同意チェックボックスが自動的に追加されます。/admin/config/system/fz152/contactにアクセスして、コンタクトフォームタイプごとにチェックボックスを個別に有効/無効にできます。
カスタムフォームの統合
カスタムモジュールのフォームの場合、/admin/config/system/fz152/formsのフォーム設定ページにフォームIDを追加するだけです。「mymodule_custom_form|50」というパターンを使用して、フォーム内でチェックボックスが表示される位置も制御できます。
ノード作成フォーム
ワイルドカード「*_node_form」を使用して、ユーザーが個人データを入力する可能性のあるすべてのコンテンツタイプフォームに同意チェックボックスを追加できます。
Tips
- *_formや*_node_formなどのワイルドカードを使用すると、個別にリストアップすることなく複数の類似フォームを一度にターゲットできます
- チェックボックスのラベルはHTMLをサポートしています - <a href="/privacy-policy">リンクテキスト</a>を使用してプライバシーポリシーページへのリンクを含めることができます
- 翻訳機能を使用して言語ごとに異なるプライバシーポリシーパスを設定できます - 多言語サイトに便利です
- 独自のプライバシーポリシーページを使用したい場合は、ページ設定で組み込みページを無効にし、チェックボックスラベルのリンクを適宜更新してください
- デフォルトのロシア語プライバシーポリシーテキストは法的に準拠しており、ほとんどのウェブサイトでそのまま使用できるため、弁護士に作成を依頼する必要がありません
- フォームIDにウェイトを追加する場合(例: form_id|99)、数値が小さいほどフォームの上部に表示され、数値が大きいほどチェックボックスが下部に押しやられます
Technical Details
Admin Pages 4
/admin/config/system/fz152
FZ152モジュールのメイン設定ページです。同意チェックボックス機能の有効/無効化やチェックボックスのラベルテキストをカスタマイズできます。
/admin/config/system/fz152/settings
プライバシーポリシーページのパス、タイトル、コンテンツなどの設定を行います。
/admin/config/system/fz152/forms
同意チェックボックスを表示するDrupalフォームを指定します。ワイルドカードとカスタムウェイト設定をサポートしています。
/admin/config/system/fz152/contact
同意チェックボックスを表示するContactフォームを設定します。FZ152 — Contactサブモジュールが有効な場合のみ使用できます。
権限 1
Hooks 1
hook_fz152_info_alter
FZ152プラグイン定義がキャッシュされる前に、モジュールが変更できるようにします。
Troubleshooting 4
/admin/config/system/fz152/formsでフォームIDが正しく入力されていることを確認してください。メイン設定で「機能を有効化」がチェックされていることを確認してください。Webformの場合は、正しいフォームIDパターンを使用していることを確認してください。
ページパスを変更した後にキャッシュをクリアしてください。ページ設定で「プライバシーポリシーページを有効化」がチェックされていることを確認してください。ルートの再構築が必要な場合があります - ページ設定フォームを再度保存してください。
フォームIDエントリにウェイトを追加してください(例: form_id|50)。ウェイトが大きいほど要素がフォームの下部に移動します。WebformのアーキテクチャによりWebformではウェイトは機能しないことに注意してください。
Configuration Translationモジュールを有効にしてください。/admin/config/regional/config-translationに移動し、FZ152のエントリを探して各言語の設定を翻訳してください。
Security Notes 2
- チェックボックスラベルフィールドはHTMLを受け入れます - XSS攻撃に使用される可能性があるため、信頼できる管理者のみがこの設定を変更できるようにしてください
- プライバシーポリシーテキストフィールドはDrupalのテキストフォーマットシステムを使用しています - 編集者に応じてコンテンツをサニタイズする適切なフォーマットを使用してください