diff --git a/app/Http/Resources/Rights/ModulesRightsResource.php b/app/Http/Resources/Rights/ModulesRightsResource.php index 53eb7f48800..31fd7aba6d9 100644 --- a/app/Http/Resources/Rights/ModulesRightsResource.php +++ b/app/Http/Resources/Rights/ModulesRightsResource.php @@ -33,6 +33,7 @@ class ModulesRightsResource extends Data public bool $is_mod_webhook_enabled = false; public bool $is_ai_vision_enabled = false; public bool $is_face_overlay_enabled = true; + public bool $is_face_recognition_warning_enabled = true; public bool $is_contact_enabled = false; public int $messages_count = 0; @@ -50,6 +51,7 @@ public function __construct() $this->is_mod_webhook_enabled = $this->isWebhookEnabled(); $this->is_ai_vision_enabled = $this->isAiVisionEnabled($is_logged_in); $this->is_face_overlay_enabled = request()->configs()->getValueAsBool('ai_vision_face_overlay_enabled'); + $this->is_face_recognition_warning_enabled = request()->configs()->getValueAsBool('ai_vision_face_recognition_warning'); $this->isContactEnabled(); } diff --git a/database/migrations/2026_06_21_000001_add_face_recognition_warning_config.php b/database/migrations/2026_06_21_000001_add_face_recognition_warning_config.php new file mode 100644 index 00000000000..03fd191f9db --- /dev/null +++ b/database/migrations/2026_06_21_000001_add_face_recognition_warning_config.php @@ -0,0 +1,31 @@ + 'ai_vision_face_recognition_warning', + 'value' => '1', + 'cat' => self::CAT, + 'type_range' => self::BOOL, + 'description' => 'Show face recognition legal warning', + 'details' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', + 'is_expert' => false, + 'is_secret' => false, + 'level' => 0, + 'order' => 19, + ], + ]; + } +}; diff --git a/lang/ar/all_settings.php b/lang/ar/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/ar/all_settings.php +++ b/lang/ar/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/ar/people.php b/lang/ar/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/ar/people.php +++ b/lang/ar/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/bg/all_settings.php b/lang/bg/all_settings.php index fdc844ca42a..a2e2c0e03d6 100644 --- a/lang/bg/all_settings.php +++ b/lang/bg/all_settings.php @@ -344,6 +344,7 @@ 'rating_album_view_mode' => 'Показване на оценката върху миниатюрите в изглед на албум.', 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниатюрите на снимките', 'import_via_url_block_redirect' => 'Импортирането чрез URL не трябва да следва пренасочвания', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Активиране на отказа от отговорност на LycheeOrg', 'webshop_auto_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките.', 'webshop_manual_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките при ръчно действие.', @@ -691,6 +692,7 @@ 'rating_album_view_mode' => 'Контролира видимостта на оценката върху миниматюрите: винаги видима, при посочване или никога.', 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниматюрите на снимките в изглед на албум, вместо оценката на потребителя.', 'import_via_url_block_redirect' => ' Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee се предоставя под MIT лиценз без никакви гаранции. Деактивирането на тази опция премахва отказа от отговорност от страницата за поръчка.', 'webshop_auto_fulfill_enabled' => 'След приключване на плащането, съдържанието автоматично става достъпно за потребителя, когато е възможно.', 'webshop_manual_fulfill_enabled' => 'Когато се кликне върху "Маркирай като доставено", съдържанието автоматично става достъпно за потребителя, когато е възможно.', diff --git a/lang/bg/people.php b/lang/bg/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/bg/people.php +++ b/lang/bg/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/cz/all_settings.php b/lang/cz/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/cz/all_settings.php +++ b/lang/cz/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/cz/people.php b/lang/cz/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/cz/people.php +++ b/lang/cz/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/de/all_settings.php b/lang/de/all_settings.php index 7626b2a1cef..6d7d4ac6296 100644 --- a/lang/de/all_settings.php +++ b/lang/de/all_settings.php @@ -344,6 +344,7 @@ 'rating_album_view_mode' => 'Bewertung auf Foto-Vorschaubildern in der Albumansicht anzeigen', 'rating_show_avg_in_album_view' => 'Durchschnittsbewertung auf Foto-Vorschaubildern anzeigen', 'import_via_url_block_redirect' => 'Import via URL darf keinen Weiterleitungen folgen', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Haftungsausschluss von LycheeOrg aktivieren', 'webshop_auto_fulfill_enabled' => 'Automatische Auftragsabwicklung aktivieren', 'webshop_manual_fulfill_enabled' => 'Automatische Auftragsabwicklung bei manueller Bestätigung aktivieren', @@ -691,6 +692,7 @@ 'rating_album_view_mode' => 'Steuert die Sichtbarkeit der Bewertung auf Vorschaubildern: immer sichtbar, beim Darüberfahren mit der Maus oder nie.', 'rating_show_avg_in_album_view' => 'Zeigt die Durchschnittsbewertung auf Foto-Vorschaubildern in der Albenansicht anstelle der Nutzerbewertung an.', 'import_via_url_block_redirect' => ' Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee wird unter der MIT-Lizenz ohne Gewährleistung bereitgestellt. Das Deaktivieren dieser Option entfernt diesen Hinweis von der Bestellseite.', 'webshop_auto_fulfill_enabled' => 'Sobald eine Zahlung abgeschlossen ist, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.', 'webshop_manual_fulfill_enabled' => 'Sobald „Als ausgeliefert markieren“ angeklickt wird, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.', diff --git a/lang/de/people.php b/lang/de/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/de/people.php +++ b/lang/de/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/el/all_settings.php b/lang/el/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/el/all_settings.php +++ b/lang/el/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/el/people.php b/lang/el/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/el/people.php +++ b/lang/el/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/en/all_settings.php b/lang/en/all_settings.php index 5ca484224b5..71833f16d25 100644 --- a/lang/en/all_settings.php +++ b/lang/en/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/en/people.php b/lang/en/people.php index b93083207b0..8bbf6486d5c 100644 --- a/lang/en/people.php +++ b/lang/en/people.php @@ -84,6 +84,16 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/es/all_settings.php b/lang/es/all_settings.php index 3ce71e1d8d2..d8942fc4501 100644 --- a/lang/es/all_settings.php +++ b/lang/es/all_settings.php @@ -344,6 +344,7 @@ 'rating_album_view_mode' => 'Mostrar la valoración en las miniaturas de las fotos en la vista de álbum.', 'rating_show_avg_in_album_view' => 'Mostrar la valoración media en las miniaturas de las fotos', 'import_via_url_block_redirect' => 'La importación mediante URL no debe seguir las redirecciones', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Activar la cláusula de exención de responsabilidad de LycheeOrg', 'webshop_auto_fulfill_enabled' => 'Activar la tramitación automática de los pedidos.', 'webshop_manual_fulfill_enabled' => 'Activar la tramitación automática de los pedidos mediante una acción manual.', @@ -691,6 +692,7 @@ 'rating_album_view_mode' => 'Controla la visibilidad de la valoración en las miniaturas: siempre visible, al pasar el cursor por encima o nunca', 'rating_show_avg_in_album_view' => 'Mostrar la puntuación media en las miniaturas de las fotos en la vista de álbum, en lugar de la puntuación del usuario', 'import_via_url_block_redirect' => ' Si desactivas esta opción, tu localhost quedará expuesto a la funcionalidad «Importar mediante URL» y podría dar lugar a una falsificación de solicitudes del lado del servidor (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee se distribuye bajo la licencia MIT sin ningún tipo de garantía. Al desactivar esta opción, se elimina el aviso legal de la página de pedidos.', 'webshop_auto_fulfill_enabled' => 'Una vez completado el pago, el contenido se pone automáticamente a disposición del usuario tan pronto como sea posible.', 'webshop_manual_fulfill_enabled' => 'Al hacer clic en «Marcar como entregado», el contenido se pone automáticamente a disposición del usuario tan pronto como sea posible.', diff --git a/lang/es/people.php b/lang/es/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/es/people.php +++ b/lang/es/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/fa/all_settings.php b/lang/fa/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/fa/all_settings.php +++ b/lang/fa/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/fa/people.php b/lang/fa/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/fa/people.php +++ b/lang/fa/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/fr/all_settings.php b/lang/fr/all_settings.php index 2c4e303e192..e4286af215d 100644 --- a/lang/fr/all_settings.php +++ b/lang/fr/all_settings.php @@ -344,6 +344,7 @@ 'rating_album_view_mode' => 'Afficher l\'évaluation sur les vignettes des photos dans la vue album', 'rating_show_avg_in_album_view' => 'Afficher l\'évaluation moyenne sur les vignettes des photos dans la vue album à la place de l\'évaluation de l\'utilisateur', 'import_via_url_block_redirect' => ' La désactivation de cette option expose votre hôte local (localhost) à la fonctionnalité d\'importation via URL (Import via URL) et peut entraîner une falsification de requête côté serveur (SSRF).', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee est fourni sous licence MIT sans aucune garantie. La désactivation de cette option supprime la clause de non-responsabilité de la page de commande.', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -691,6 +692,7 @@ 'rating_album_view_mode' => 'Afficher l\'évaluation sur les vignettes des photos dans la vue album.', 'rating_show_avg_in_album_view' => 'Afficher l\'évaluation moyenne sur les vignettes des photos', 'import_via_url_block_redirect' => 'L\'importation via URL ne doit pas suivre les redirections', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Activer la clause de non-responsabilité de LycheeOrg', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/fr/people.php b/lang/fr/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/fr/people.php +++ b/lang/fr/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/hu/all_settings.php b/lang/hu/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/hu/all_settings.php +++ b/lang/hu/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/hu/people.php b/lang/hu/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/hu/people.php +++ b/lang/hu/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/it/all_settings.php b/lang/it/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/it/all_settings.php +++ b/lang/it/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/it/people.php b/lang/it/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/it/people.php +++ b/lang/it/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/ja/all_settings.php b/lang/ja/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/ja/all_settings.php +++ b/lang/ja/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/ja/people.php b/lang/ja/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/ja/people.php +++ b/lang/ja/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/nl/all_settings.php b/lang/nl/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/nl/all_settings.php +++ b/lang/nl/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/nl/people.php b/lang/nl/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/nl/people.php +++ b/lang/nl/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/no/all_settings.php b/lang/no/all_settings.php index bb3a0dab423..f7a38e2718d 100644 --- a/lang/no/all_settings.php +++ b/lang/no/all_settings.php @@ -344,6 +344,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -691,6 +692,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/no/people.php b/lang/no/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/no/people.php +++ b/lang/no/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/pl/all_settings.php b/lang/pl/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/pl/all_settings.php +++ b/lang/pl/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/pl/people.php b/lang/pl/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/pl/people.php +++ b/lang/pl/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/pt/all_settings.php b/lang/pt/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/pt/all_settings.php +++ b/lang/pt/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/pt/people.php b/lang/pt/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/pt/people.php +++ b/lang/pt/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/ru/all_settings.php b/lang/ru/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/ru/all_settings.php +++ b/lang/ru/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/ru/people.php b/lang/ru/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/ru/people.php +++ b/lang/ru/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/sk/all_settings.php b/lang/sk/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/sk/all_settings.php +++ b/lang/sk/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/sk/people.php b/lang/sk/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/sk/people.php +++ b/lang/sk/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/sv/all_settings.php b/lang/sv/all_settings.php index 3aaa4d7b65b..36735290f9a 100644 --- a/lang/sv/all_settings.php +++ b/lang/sv/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/sv/people.php b/lang/sv/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/sv/people.php +++ b/lang/sv/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/tr/all_settings.php b/lang/tr/all_settings.php index 560d9d1e150..78895104611 100644 --- a/lang/tr/all_settings.php +++ b/lang/tr/all_settings.php @@ -345,6 +345,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -692,6 +693,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/tr/people.php b/lang/tr/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/tr/people.php +++ b/lang/tr/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/vi/all_settings.php b/lang/vi/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/vi/all_settings.php +++ b/lang/vi/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/vi/people.php b/lang/vi/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/vi/people.php +++ b/lang/vi/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/zh_CN/all_settings.php b/lang/zh_CN/all_settings.php index 3aaa4d7b65b..36735290f9a 100644 --- a/lang/zh_CN/all_settings.php +++ b/lang/zh_CN/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/zh_CN/people.php b/lang/zh_CN/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/zh_CN/people.php +++ b/lang/zh_CN/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/lang/zh_TW/all_settings.php b/lang/zh_TW/all_settings.php index fdbaa439f74..70cd53c4e86 100644 --- a/lang/zh_TW/all_settings.php +++ b/lang/zh_TW/all_settings.php @@ -346,6 +346,7 @@ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails', 'import_via_url_block_redirect' => 'Import via URL should not follow redirections', + 'ai_vision_face_recognition_warning' => 'Show face recognition legal warning', 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer', 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.', 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.', @@ -693,6 +694,7 @@ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never', 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating', 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).', + 'ai_vision_face_recognition_warning' => 'When enabled, a legal warning about facial recognition is displayed on the Face Clusters and Face Maintenance pages. An administrator can dismiss the warning.', 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.', 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.', 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.', diff --git a/lang/zh_TW/people.php b/lang/zh_TW/people.php index b93083207b0..d4ea6c021c3 100644 --- a/lang/zh_TW/people.php +++ b/lang/zh_TW/people.php @@ -84,6 +84,17 @@ 'assigned_faces' => 'Assigned :count face(s)', 'dismissed_faces' => 'Dismissed :count face(s)', 'clustering_started' => 'Clustering started. Reload when complete.', + + 'face_recognition_warning' => [ + 'title' => 'Legal Notice — Facial Recognition', + 'legal_notice' => 'Facial recognition technology may be subject to strict legal restrictions or outright prohibited in your jurisdiction. Before deploying this service, ensure you comply with all applicable laws and regulations.', + 'example_title' => 'Example — the Netherlands:', + 'example_body' => 'Under the Dutch implementation of the EU General Data Protection Regulation (GDPR), biometric data (including facial recognition embeddings) is classified as special category data (Article 9 GDPR). Processing such data is prohibited unless a specific legal basis applies (e.g. explicit informed consent). The Dutch Data Protection Authority (Autoriteit Persoonsgegevens) has issued guidance making clear that using facial recognition on individuals without a valid legal ground constitutes a serious infringement, potentially carrying fines of up to €20 million or 4% of global annual turnover.', + 'similar_rules' => 'Similar or stricter rules may apply in other EU/EEA countries, the United Kingdom, Canada, and many other jurisdictions.', + 'no_liability' => 'Lychee is developed under the MIT license. The authors and contributors of LycheeOrg accept no liability for unlawful use.
It is your sole responsibility to obtain any required consent, implement appropriate safeguards, and verify legality before operating this software.', + 'acknowledge' => 'I have read and understood the above legal notice', + 'accept' => 'Accept & Dismiss Warning', + ], 'merge' => [ 'title' => 'Merge person', 'into' => 'into…', diff --git a/resources/js/components/faceRecog/FaceRecognitionWarning.vue b/resources/js/components/faceRecog/FaceRecognitionWarning.vue new file mode 100644 index 00000000000..6b97a8d1a7f --- /dev/null +++ b/resources/js/components/faceRecog/FaceRecognitionWarning.vue @@ -0,0 +1,79 @@ + + + diff --git a/resources/js/lychee.d.ts b/resources/js/lychee.d.ts index 3b27f70dd58..0d41ae7859b 100644 --- a/resources/js/lychee.d.ts +++ b/resources/js/lychee.d.ts @@ -1160,6 +1160,7 @@ declare namespace App.Http.Resources.Rights { is_mod_webhook_enabled: boolean; is_ai_vision_enabled: boolean; is_face_overlay_enabled: boolean; + is_face_recognition_warning_enabled: boolean; is_contact_enabled: boolean; messages_count: number; }; diff --git a/resources/js/views/face-recog/FaceClusters.vue b/resources/js/views/face-recog/FaceClusters.vue index b0120addfbc..08d4a5f7336 100644 --- a/resources/js/views/face-recog/FaceClusters.vue +++ b/resources/js/views/face-recog/FaceClusters.vue @@ -9,6 +9,8 @@ + +
@@ -217,6 +219,7 @@ import { useToast } from "primevue/usetoast"; import { trans } from "laravel-vue-i18n"; import OpenLeftMenu from "@/components/headers/OpenLeftMenu.vue"; import PaginationInfiniteScroll from "@/components/pagination/PaginationInfiniteScroll.vue"; +import FaceRecognitionWarning from "@/components/faceRecog/FaceRecognitionWarning.vue"; import FaceClusterService from "@/services/face-cluster-service"; import PeopleService from "@/services/people-service"; import FaceDetectionService from "@/services/face-detection-service"; diff --git a/resources/js/views/face-recog/FaceMaintenance.vue b/resources/js/views/face-recog/FaceMaintenance.vue index ee14fb7a5ac..730e93c0f83 100644 --- a/resources/js/views/face-recog/FaceMaintenance.vue +++ b/resources/js/views/face-recog/FaceMaintenance.vue @@ -9,6 +9,8 @@ + +
@@ -252,6 +254,7 @@ import Tag from "primevue/tag"; import Toolbar from "primevue/toolbar"; import OpenLeftMenu from "@/components/headers/OpenLeftMenu.vue"; import PaginationInfiniteScroll from "@/components/pagination/PaginationInfiniteScroll.vue"; +import FaceRecognitionWarning from "@/components/faceRecog/FaceRecognitionWarning.vue"; import FaceAssignmentModal from "@/components/modals/faceRecog/FaceAssignmentModal.vue"; import FaceMaintenanceService from "@/services/face-maintenance-service"; import FaceDetectionService from "@/services/face-detection-service";