Entity Legal
利用規約やプライバシーポリシーなど、サイトユーザー向けのバージョン管理・追跡可能な法的文書を作成します。
entity_legal
概要
Entity Legalモジュールは、利用規約やプライバシーポリシーなどの法的文書を堅牢でバージョン管理可能、エクスポート可能、かつ柔軟に保存する方法を提供します。法的文書、そのバージョン、およびユーザーの同意をカスタムエンティティタイプとして作成します。
法的文書が変更された際に、ユーザーに再読み込みと再同意を強制または推奨でき、どのユーザーがどのバージョンにいつ同意したかの完全な監査証跡を残します。複数の法的文書を同時にサポートし、それぞれに新規登録時や既存ユーザーがどのように同意するかのカスタム設定が可能です。
ユーザーに文書への同意を促す複数の通知方法を備えています:ポップアップダイアログ、Drupalステータスメッセージ、フルページリダイレクト。サイト管理者はモジュールのPlugin APIを使用してカスタム配信方法を作成することもできます。
Features
- 単一サイトで複数の法的文書をサポート(利用規約、プライバシーポリシー、契約条件など)
- 各法的文書の完全なバージョン履歴とバージョン間の作成・切り替え機能
- どのユーザーがどのバージョンにいつ同意したかを追跡(完全な監査証跡)
- 新規ユーザーに登録時の法的文書への同意を要求(登録フォームにチェックボックスを表示)
- 既存ユーザーにポップアップ、警告メッセージ、またはページリダイレクトで新バージョンへの同意を要求
- 動的コンテンツ用のToken対応によるカスタマイズ可能な同意ラベル
- 法的文書ページのURLエイリアスをサポート
- 翻訳可能な文書バージョンによる多言語サポート
- オプションのViews連携で各ユーザーの全文書同意を表示
- カスタム同意配信方法を作成するための拡張可能なPluginシステム
- Drupal 7のEntity Legalモジュールからの移行サポート
- 同意ラベルとタイトルの動的コンテンツ用Token連携
- ユーザー削除時の同意記録の自動クリーンアップ
Use Cases
GDPRコンプライアンス
新規ユーザーが登録時に同意する必要があるプライバシーポリシー文書を作成します。GDPRの要件が変更された場合、新しいバージョンを作成し、既存ユーザーにポップアップで再同意するよう設定します。監査証跡は各ユーザーがいつ同意したかを証明し、コンプライアンス監査に役立ちます。
利用規約の更新
バージョン履歴付きの利用規約を管理します。規約が大幅に変更された場合、新しいバージョンを公開し、リダイレクト方法を使用してすべてのユーザーにサイト使用前に新しい規約を読んで同意させます。以前の同意は履歴記録として保持されます。
複数の法的契約
利用規約、プライバシーポリシー、Cookieポリシーの別々の文書を作成します。それぞれが独立した設定を持つことができます - 利用規約はリダイレクトで再同意を要求し、CookieポリシーはPopupを使用するなど。新規ユーザーは登録フォームで必要なすべての文書を確認します。
ポリシー変更のソフト通知
プライバシーポリシーを更新し、メッセージ方法を使用して変更の確認を求める警告を表示します。ユーザーには促しますが、すぐに同意することを強制しません。軽微なポリシー更新に適しています。
ユーザー同意の監査
同意ビューを使用して、どのユーザーがどのバージョンの法的文書に同意したかを監査します。ユーザーでフィルタリングして、すべての文書にわたる完全な同意履歴を確認でき、法務またはコンプライアンス調査に役立ちます。
ロールベースの要件
「再同意」権限を使用して、異なるユーザーロールに異なる要件を設定します。例えば、スタッフメンバーには従業員行動規範への同意を要求し、一般ユーザーには標準の利用規約への同意のみを要求します。
Tips
- 同意ラベルでTokenを使用して動的リンクを作成:「I agree to the <a href="[entity_legal_document:url]">Terms of Service</a>」
- 文書を更新する際は、公開済みのものを編集するのではなく、新しいバージョンを作成してください。これにより古いバージョンの同意履歴が保持されます。
- 以前に公開されたバージョンに戻しても、そのバージョンに既に同意したユーザーには再同意が求められません。
- Pathモジュールを使用して、/legal/document/termsの代わりに/terms-of-serviceのようなフレンドリーなURLを作成できます。
- モジュールは文書バージョンの「表示管理」と連携し、同意ページでの文書コンテンツの表示方法をカスタマイズできます。
- @EntityLegalアノテーションを持つPlugin/EntityLegal名前空間にPluginを実装することで、カスタム同意方法を作成できます。
Technical Details
Admin Pages 6
/admin/structure/legal
すべての法的文書を管理するメイン管理ページ。既存のすべての法的文書を一覧表示し、表示、編集、削除へのリンクを提供します。新しい法的文書を作成する「Add」アクションがあります。
/admin/structure/legal/add
新しい法的文書エンティティを作成するフォーム。保存後、文書の最初のバージョンを作成するページにリダイレクトされます。
/admin/structure/legal/manage/{entity_legal_document}
既存の法的文書の設定を編集し、バージョンを管理します。すべてのバージョンの一覧表を表示し、公開バージョンの設定、各バージョンの編集、削除、翻訳のオプションがあります。
/admin/structure/legal/manage/{entity_legal_document}/add
法的文書の新しいバージョンを作成します。新しいバージョンは開始点として現在の公開バージョンのコンテンツを自動的にコピーします。
/admin/structure/legal/manage/{entity_legal_document}/acceptances
特定の法的文書に対するすべてのユーザー同意を表示します。文書バージョン、ユーザー名、同意日を表示します。ユーザー名によるフィルタリングが含まれます。Viewsモジュールが必要です。
/legal/document/{entity_legal_document}
法的文書の現在の公開バージョンを表示する公開ページ。文書に同意する必要がある認証済みユーザーには、文書コンテンツの下にチェックボックスと送信ボタンのある同意フォームが表示されます。
権限 4
Hooks 1
hook_entity_legal_document_method_alter
法的文書の同意に対する利用可能なユーザー通知方法を変更します。モジュールがカスタム同意配信方法を追加できるようにします。
Troubleshooting 4
以下を確認してください:1)文書の公開バージョンが存在する、2)「既存ユーザーに同意を要求」チェックボックスが有効、3)ユーザーが「legal re-accept [document]」権限を持っている、4)ユーザーが「administer entity legal」または「bypass entity legal acceptance」権限を持っていない。
テーマでjQuery UI Dialogライブラリが利用可能であることを確認してください。ポップアップ方法はcore/drupal.dialogライブラリに依存します。モジュールを有効にした後、キャッシュをクリアしてください。
モジュールはパスワードリセットフローをリダイレクト要件から自動的に除外します。問題が続く場合は、URLにpass-reset-tokenパラメータが正しく渡されているか確認してください。
同意ビューはオプションの構成として提供されています。Viewsモジュールが有効であることを確認し、config/optional/views.view.legal_document_acceptances.ymlから構成を再インポートするか、ビューを手動で再作成してください。
Security Notes 4
- 「administer entity legal」または「bypass entity legal acceptance」権限を持つユーザーには文書への同意が求められません
- 同意記録には検証目的のユーザーデータダンプが含まれます
- ユーザーが削除されると、その同意記録は自動的に削除されます
- リダイレクト方法はパスワードリセットフローを適切に処理し、ユーザーがロックアウトされることを防ぎます