diff --git a/reana-ui/src/components/App.js b/reana-ui/src/components/App.js index 3aeadef8..44ad37e4 100644 --- a/reana-ui/src/components/App.js +++ b/reana-ui/src/components/App.js @@ -33,7 +33,6 @@ import OAuthSignin from "~/pages/signin/OAuthSignin"; import WorkflowList from "~/pages/workflowList/WorkflowList"; import WorkflowDetails from "~/pages/workflowDetails/WorkflowDetails"; import Profile from "~/pages/profile/Profile"; -import PrivacyNotice from "~/pages/privacyNotice/PrivacyNotice"; import Status from "~/pages/status/Status"; import LaunchOnReana from "~/pages/launchOnReana/LaunchOnReana"; import NotFound from "~/pages/error/NotFound"; @@ -81,7 +80,6 @@ export default function App() { } /> } /> - } /> } /> - - {config.cernRopo && ( - + + {config.privacyNoticeURL && ( + Privacy notice - + )} diff --git a/reana-ui/src/components/Footer.module.scss b/reana-ui/src/components/Footer.module.scss index 3e1cc37d..5697f09b 100644 --- a/reana-ui/src/components/Footer.module.scss +++ b/reana-ui/src/components/Footer.module.scss @@ -19,7 +19,7 @@ height: 60px; color: $gray; - .links > a { + .links > a:not(:first-child) { margin-left: 1em; } } diff --git a/reana-ui/src/pages/privacyNotice/PrivacyNotice.js b/reana-ui/src/pages/privacyNotice/PrivacyNotice.js deleted file mode 100644 index b35c53df..00000000 --- a/reana-ui/src/pages/privacyNotice/PrivacyNotice.js +++ /dev/null @@ -1,335 +0,0 @@ -/* - -*- coding: utf-8 -*- - - This file is part of REANA. - Copyright (C) 2020, 2022, 2023 CERN. - - REANA is free software; you can redistribute it and/or modify it - under the terms of the MIT License; see LICENSE file for more details. -*/ - -import { Container, Table, Divider } from "semantic-ui-react"; - -import { Title } from "../../components"; -import BasePage from "../BasePage"; - -import styles from "./PrivacyNotice.module.scss"; - -export default function PrivacyNoticePage() { - return ( - - - - ); -} - -function PrivacyNotice() { - return ( - - Privacy notice - - How is your data used -

- Each service at CERN is responsible for compiling its own Privacy Notice - regarding the data it processes. -

-

- This Privacy Notice is part of{" "} - - CERN’s Layered Privacy Notice - {" "} - and details the processing that is unique to REANA. It does not address - processing by other services on which this service may rely and which - have their own Privacy Notice. -

- - Personal Data we process -

The personal data we have, and how it's used:

- - - - Personal Data - Purpose - Basis - Source - - - - - - Your access logs (IP address, visited URLs on REANA and - corresponding timestamp) - - - User support, website debugging, security auditing and to produce - statistics - - Legitimate interest of CERN - - Automatically transferred by your web browser - - - - E-mail address - - Unique identifier for your REANA account, used to sign in, grant - access rights, and send email communications - - Legitimate interest of CERN - CERN Single Sign-On - - - E-group membership - Used for authorisation purposes - Legitimate interest of CERN - CERN Single Sign-On - - - Account name - - Used for authentication and to enable the integration with CERN - GitLab service - - Legitimate interest of CERN - CERN Single Sign-On - - - Access token - - Used by REANA Client for REST API authentication and authorisation - - Legitimate interest of CERN - Created by REANA at first login - - - List of REANA jobs you created - - Used to manage and display information about your REANA jobs (e.g. - logs of running tasks, outputs, etc) - - Legitimate interest of CERN - Your input - - -
- - - Description of legal basis for processing of Personal Data by REANA - -
    -
  • - Contract: To fulfil a contractual relationship with - the individual, or in preparation for a contract with the individual -
  • -
  • - Legal Obligation: To comply with a legal obligation - of CERN. -
  • -
  • - Consent: By having received and recorded consent from - the individual. -
  • -
  • - Legitimate interest of CERN: In the legitimate - interests of CERN supporting the professional activities of the - individual or their security and safety. -
  • -
- - Personal Data we keep -

The personal data we store, for how long and why:

- - - - Personal Data - - Retention Period 1 - - Purpose - - - - - - Your access logs (IP address, visited URLs on REANA and - corresponding timestamp) - - Maximum 13 months from date of action - - User support, website debugging, security auditing and to produce - statistics - - - - E-mail address - Lifetime of your REANA account - - Unique identifier for your REANA account, used to sign in, grant - access rights, and send email communications - - - - E-group membership - Lifetime of your REANA account - Used for authorisation purposes - - - Account name - Lifetime of your REANA account - - Used for authentication and to enable the integration with CERN - GitLab service - - - - Access token - - Lifetime of your REANA account or until revoked by administrators - - API authentication and authorisation - - - List of REANA jobs you created - Lifetime of your REANA account - - Used to manage and display information about your REANA jobs (e.g. - logs of running tasks, outputs, etc) - - - -
- - Who at CERN has access -

- In addition to yourself, personal data collected by REANA is accessible - by the following services, teams or individuals at CERN: -

- - - - Personal Data - Who - Purpose - - - - - - Your access logs (IP address, visited URLs on REANA, and - corresponding timestamp) - - - REANA administrators and CERN Services administrators (Cloud - Infrastructure) - - User support and service operations - - - E-mail address - - REANA administrators and CERN Services administrators (Database on - demand service) - - User support and service operations - - - E-group membership - - REANA administrators and CERN Services administrators (Database on - demand service) - - User support and service operations - - - Account name - - REANA administrators and CERN Services administrators (Database on - demand service) - - User support and service operations - - - Access token - - REANA administrators and CERN Services administrators (Database on - demand service) - - User support and service operations - - - List of REANA jobs you created - - REANA administrators and CERN Services administrators (Database on - demand service) - - User support and service operations - - -
- -

- For more detailed information about personal data and privacy please - refer to the{" "} - - Data Privacy web site - - . -

-

- For questions regarding this Privacy Notice, please contact{" "} - reana-support@cern.ch. -

-

- For questions regarding personal data and privacy please contact the{" "} - - Office of Data Privacy - - . -

-

- To request to exercise data subject rights please fill and submit the - following{" "} - - online form - - . -

-

This Privacy Notice is subject to revision.

-

- - CERN Privacy Notice:{" "} - - REANA (PN00915) - - . Last revision: 2020-10-09 18:04:55 - -

- -

- 1 The retention period may be temporarily extended for - special circumstances, in accordance with the provisions of the - operation circular governing data privacy.{" "} -

-
- ); -} diff --git a/reana-ui/src/pages/privacyNotice/PrivacyNotice.module.scss b/reana-ui/src/pages/privacyNotice/PrivacyNotice.module.scss deleted file mode 100644 index f6573675..00000000 --- a/reana-ui/src/pages/privacyNotice/PrivacyNotice.module.scss +++ /dev/null @@ -1,16 +0,0 @@ -/* - -*- coding: utf-8 -*- - - This file is part of REANA. - Copyright (C) 2020, 2022 CERN. - - REANA is free software; you can redistribute it and/or modify it - under the terms of the MIT License; see LICENSE file for more details. -*/ - -@import "@palette"; - -.container { - padding: 1em; - margin: 4em 0; -} diff --git a/reana-ui/src/reducers.js b/reana-ui/src/reducers.js index 36e53799..0a09de96 100644 --- a/reana-ui/src/reducers.js +++ b/reana-ui/src/reducers.js @@ -55,9 +55,9 @@ export const configInitialState = { clientPyvenv: null, forumURL: null, chatURL: null, + privacyNoticeURL: null, cernSSO: false, loginProviderConfig: null, - cernRopo: false, adminEmail: null, maxInteractiveSessionInactivityPeriod: null, localUsers: false, @@ -137,9 +137,9 @@ const config = (state = configInitialState, action) => { clientPyvenv: action.client_pyvenv, forumURL: action.forum_url, chatURL: action.chat_url, + privacyNoticeURL: action.privacy_notice_url, cernSSO: action.cern_sso, loginProviderConfig: action.login_provider_config, - cernRopo: action.cern_ropo, adminEmail: action.admin_email, maxInteractiveSessionInactivityPeriod: action.maximum_interactive_session_inactivity_period,