From 2406b17a9b7668c1450e589ebd97c52f9cc736fc Mon Sep 17 00:00:00 2001 From: Namanv509 Date: Fri, 26 Sep 2025 22:42:05 +0530 Subject: [PATCH] Table style update on legal page Signed-off-by: Namanv509 --- src/sections/Company/Legal/privacy/index.js | 306 +++++++---- .../Company/Legal/sub-processors/index.js | 485 ++++++++++-------- src/sections/Company/Legal/terms.style.js | 108 ---- 3 files changed, 462 insertions(+), 437 deletions(-) diff --git a/src/sections/Company/Legal/privacy/index.js b/src/sections/Company/Legal/privacy/index.js index 59f108ffba6c8..b02152ceb5078 100644 --- a/src/sections/Company/Legal/privacy/index.js +++ b/src/sections/Company/Legal/privacy/index.js @@ -1,19 +1,143 @@ import React from "react"; import { Container, Row, Col } from "../../../../reusecore/Layout"; -import TOC from "../../../../components/handbook-navigation/index"; -import TocPagination from "../../../../components/handbook-navigation/TocPagination"; -// import IntraPage from "../../../../components/handbook-navigation/intra-page"; import PageHeader from "../../../../reusecore/PageHeader"; import TermsWrapper from "../terms.style"; +import { useStyledDarkMode } from "../../../../theme/app/useStyledDarkMode"; +import { + styled, + Table, + TableContainer, + TableCell, + TableRow, + TableHead, + TableBody, + SistentThemeProvider, +} from "@sistent/sistent"; + +const StyledTableContainer = styled(TableContainer)(() => ({ + width: "100%", + backgroundColor: "transparent", + boxShadow: "none", + padding: 0, +})); + +const StyledTableRow = styled(TableRow)(({ theme }) => ({ + "&:nth-child(odd)": { + backgroundColor: theme.palette.background.default, + }, + "&:nth-child(even)": { + backgroundColor: theme.palette.background.secondary, + }, +})); + +const StyledTableCell = styled(TableCell)(({ theme }) => ({ + color: theme.palette.text.secondary, + fontSize: "0.975rem", + padding: "0.75rem", + borderBottom: `1px solid ${theme.palette.divider}`, + borderRadius: "4px", +})); + +const StyledHeaderCell = styled(StyledTableCell)(() => ({ + fontWeight: 600, + backgroundColor: "transparent", +})); + +const privacyData = [ + { + section: "When you browse our websites (layer5.io, getnighthawk.dev, meshery.dev, ) and applications (cloud.layer5.io, kanvas.new)", + rows: [ + { + purpose: "To operate, secure, and maintain our website.", + categories: "IP Address, device type, browser information, server logs.", + lawfulBasis: 'Legitimate Interest (Article 6(1)(f)) - to ensure the security, availability, and performance of our digital properties.', + retention: "Up to 26 months for server logs, depending on the specific data and its purpose.", + }, + { + purpose: "To analyze website usage and improve user experience.", + categories: "Anonymized IP address, cookie identifiers, pages visited, duration of visit, clickstream data.", + lawfulBasis: 'Consent (Article 6(1)(a)) - for non-essential analytics and tracking cookies. You can manage your consent through our cookie banner.', + retention: "Up to 26 months for analytics data, depending on the specific service used.", + }, + ], + }, + { + section: "When you join our community (e.g., Slack, Forum, GitHub)", + rows: [ + { + purpose: "To manage your participation and facilitate collaboration in our open-source projects.", + categories: "Name, email address, GitHub username, public profile information, content of your contributions (code, comments, issues), and communications.", + lawfulBasis: 'Legitimate Interest (Article 6(1)(f)) - to operate, manage, and grow our collaborative open source community.', + retention: "Your contributions are retained indefinitely as part of the public project record. Other personal data is retained for the duration of your participation and up to 12 months thereafter.", + }, + ], + }, + { + section: "When you sign up for and use Layer5 Cloud", + rows: [ + { + purpose: "To create and manage your account and provide our services to you.", + categories: "Name, email address, company name, securely hashed password, GitHub user ID (if used for single sign-on).", + lawfulBasis: 'Performance of a Contract (Article 6(1)(b)) - this data is necessary to fulfill our contractual obligation to provide the service you have signed up for.', + retention: "For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.", + }, + { + purpose: "To process payments for our paid subscription plans.", + categories: "Billing address, payment card information (we do not store full card details; they are securely processed by our payment provider, who provides us with a transaction token and confirmation).", + lawfulBasis: 'Performance of a Contract (Article 6(1)(b)).', + retention: "Financial data is retained for 7 years to comply with legal and tax obligations.", + }, + { + purpose: "To communicate with you about the service (e.g., important updates, security alerts, billing information).", + categories: "Email address.", + lawfulBasis: 'Performance of a Contract (Article 6(1)(b)) and Legitimate Interest (Article 6(1)(f)) - to provide you with essential information about the service you are using.', + retention: "For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.", + }, + { + purpose: "To monitor service performance and improve our products.", + categories: "Service usage data, API logs, user activity logs, device and browser information.", + lawfulBasis: 'Legitimate Interest (Article 6(1)(f)) - to maintain and improve the quality and functionality of our services.', + retention: "For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.", + }, + ], + }, + { + section: "When you contact us for support or information", + rows: [ + { + purpose: "To respond to your inquiries and provide customer support.", + categories: "Name, email address, and any other information you provide in the content of your message.", + lawfulBasis: 'Legitimate Interest (Article 6(1)(f)) - to effectively respond to user inquiries and provide assistance.', + retention: "For the duration of the support interaction and up to 12 months thereafter for quality assurance purposes.", + }, + ], + }, + { + section: "When you subscribe to our marketing communications", + rows: [ + { + purpose: "To send you newsletters, product updates, and other marketing materials.", + categories: "Name, email address.", + lawfulBasis: 'Consent (Article 6(1)(a)) - you provide your consent when you opt-in to receive these communications, and you can unsubscribe at any time.', + retention: "Until you unsubscribe.", + }, + ], + }, +]; const Privacy = () => { + const { isDark } = useStyledDarkMode(); + return ( -

- Effective Date: July 11th, 2023
- Version 3
+

+ + Effective Date: July 11th, 2023 +
+ Version 3 +

@@ -46,94 +170,50 @@ const Privacy = () => {

We process your personal data for a variety of purposes depending on how you interact with us. The table below details what we collect, why we collect it, and the legal justification (lawful basis) under the GDPR for doing so.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1: Summary of Our Data Processing Activitie under GDPR
Purpose for Processing Your DataCategories of Personal Data We ProcessLawful Basis for Processing (under GDPR)Data Retention Duration (See all)
When you browse our websites (layer5.io, getnighthawk.dev, meshery.dev, ) and applications (cloud.layer5.io, kanvas.new)
To operate, secure, and maintain our website.IP Address, device type, browser information, server logs.Legitimate Interest (Article 6(1)(f)) - to ensure the security, availability, and performance of our digital properties.Up to 26 months for server logs, depending on the specific data and its purpose.
To analyze website usage and improve user experience.Anonymized IP address, cookie identifiers, pages visited, duration of visit, clickstream data.Consent (Article 6(1)(a)) - for non-essential analytics and tracking cookies. You can manage your consent through our cookie banner.Up to 26 months for analytics data, depending on the specific service used.
When you join our community (e.g., Slack, Forum, GitHub)
To manage your participation and facilitate collaboration in our open-source projects.Name, email address, GitHub username, public profile information, content of your contributions (code, comments, issues), and communications.Legitimate Interest (Article 6(1)(f)) - to operate, manage, and grow our collaborative open source community.Your contributions are retained indefinitely as part of the public project record. Other personal data is retained for the duration of your participation and up to 12 months thereafter.
When you sign up for and use Layer5 Cloud
To create and manage your account and provide our services to you.Name, email address, company name, securely hashed password, GitHub user ID (if used for single sign-on).Performance of a Contract (Article 6(1)(b)) - this data is necessary to fulfill our contractual obligation to provide the service you have signed up for.For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.
To process payments for our paid subscription plans.Billing address, payment card information (we do not store full card details; they are securely processed by our payment provider, who provides us with a transaction token and confirmation).Performance of a Contract (Article 6(1)(b)).Financial data is retained for 7 years to comply with legal and tax obligations.
To communicate with you about the service (e.g., important updates, security alerts, billing information).Email address.Performance of a Contract (Article 6(1)(b)) and Legitimate Interest (Article 6(1)(f)) - to provide you with essential information about the service you are using.For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.
To monitor service performance and improve our products.Service usage data, API logs, user activity logs, device and browser information.Legitimate Interest (Article 6(1)(f)) - to maintain and improve the quality and functionality of our services.For the duration of your account activity and up to 12 months thereafter for account reactivation and support purposes.
When you contact us for support or information
To respond to your inquiries and provide customer support.Name, email address, and any other information you provide in the content of your message.Legitimate Interest (Article 6(1)(f)) - to effectively respond to user inquiries and provide assistance.For the duration of the support interaction and up to 12 months thereafter for quality assurance purposes.
When you subscribe to our marketing communications
To send you newsletters, product updates, and other marketing materials.Name, email address.Consent (Article 6(1)(a)) - you provide your consent when you opt-in to receive these communications, and you can unsubscribe at any time.Until you unsubscribe.
INTERNAL DOC##gdpr-10c#gdpr-2#gdpr-9b
+ + + + + + + + + Purpose for Processing Your Data + Categories of Personal Data We Process + Lawful Basis for Processing (under GDPR) + Data Retention Duration + + + + {privacyData.map((section, index) => ( + + + + {section.section} + + + {section.rows.map((row, rowIndex) => ( + + {row.purpose} + {row.categories} + + {row.retention} + + ))} + + ))} + + INTERNAL DOC# + #gdpr-10c + #gdpr-2 + #gdpr-9b + + +
Table 1: Summary of Our Data Processing Activities under GDPR
+
+ +
+

Cookies and Tracking Technologies

We use cookies and similar technologies on our website to help it function, to analyze performance, and to personalize your experience. A cookie is a small text file stored on your device. @@ -159,15 +239,19 @@ const Privacy = () => {

  • Analytics & Monitoring Services: We use services (e.g., Google Analytics) to help us understand how our website and services are used so we can improve them.
  • Communication & Collaboration Platforms: Our open source community operates on platforms like GitHub and Slack. When you participate, your data is processed by these platforms according to their own privacy policies.
  • Business & Support Tools: We use third-party software for customer support (e.g., ClickUp) and customer relationship management to communicate with you effectively.
  • -
  • Email and Marketing Automation Providers: We use third-party services to send transactional emails and marketing communications (e.g. MailChimp and Google Groups)
  • +
  • Email and Marketing Automation Providers: We use third-party services to send transactional emails and marketing communications (e.g., MailChimp and Google Groups).
  • We may also disclose your personal data if required to do so by law or in response to valid requests by public authorities (e.g., a court or a government agency).

    -

    Linked websites and third-party Apps

    -

    We may provide access or links to third-party websites, Apps, and services that are outside Layer5's control and governed by the respective third party’s privacy policy, not by this Privacy Statement. We encourage you to review the privacy statements posted on the websites you visit and in the applications you use.

    -

    Forums and chat rooms

    -

    If you participate in a discussion forum, local communities, or chat room on a Layer5 website, you should be aware that the information you provide there (such as your public profile and comments) will be made broadly available to others and could be used to contact you, to send you unsolicited messages, or for purposes neither Layer5 nor you have control over. Also, please recognize that individual forums and chat rooms may have additional rules and conditions. Layer5 is not responsible for the Personal Data or any other information you choose to submit in these forums. To request removal of your Personal Data from our blog or community forum, please submit a Privacy Request. In some cases, we may not be able to remove all Personal Data and comments. In such cases, we will provide you with a response and explanation.

    +

    Linked Websites and Third-Party Apps

    +

    + We may provide access or links to third-party websites, Apps, and services that are outside Layer5's control and governed by the respective third party’s privacy policy, not by this Privacy Statement. We encourage you to review the privacy statements posted on the websites you visit and in the applications you use. +

    +

    Forums and Chat Rooms

    +

    + If you participate in a discussion forum, local communities, or chat room on a Layer5 website, you should be aware that the information you provide there (such as your public profile and comments) will be made broadly available to others and could be used to contact you, to send you unsolicited messages, or for purposes neither Layer5 nor you have control over. Also, please recognize that individual forums and chat rooms may have additional rules and conditions. Layer5 is not responsible for the Personal Data or any other information you choose to submit in these forums. To request removal of your Personal Data from our blog or community forum, please submit a Privacy Request. In some cases, we may not be able to remove all Personal Data and comments. In such cases, we will provide you with a response and explanation. +

    International Transfers of Personal Data

    Layer5, Inc. is based in the United States. Your personal data will be processed in the United States and other countries where our third-party service providers are located. When we transfer personal data from the European Economic Area (EEA), the UK, or Switzerland to other countries, we do so in compliance with applicable data protection laws. @@ -228,7 +312,7 @@ const Privacy = () => {

    Commitment to Data Privacy and Ongoing Compliance

    Operationalizing Data Subject Rights

    - A privacy notice that promises data subject rights without the internal capacity to fulfill them creates a significant liability. Layer5 must establish a formal, documented process for managing received at the designated privacy@layer5.io email address. + A privacy notice that promises data subject rights without the internal capacity to fulfill them creates a significant liability. Layer5 must establish a formal, documented process for managing received at the designated privacy@layer5.io email address.

    1. Request Logging: Creating a centralized log to track the date of each request, the identity of the requester, the nature of the request, the deadline for response (30 days), and the date of fulfillment.
    2. @@ -256,9 +340,6 @@ const Privacy = () => {

      In accordance with Article 30 of the GDPR, as a data controller, we maintain an internal Record of Processing Activities (ROPA). This document details all categories of personal data we process, the purposes of processing, data subjects, data recipients, international transfers, retention periods, and security measures.

      - {/*

      - The data mapping exercise conducted in Part I of this report and the detailed summary in Table 2 of the new privacy notice serve as an excellent foundation for creating Layer5's ROPA. This internal record should be expanded to include additional legally required details for each processing activity, such as a description of the security measures in place, details of data processors, and information on data protection impact assessments (DPIAs), if any have been conducted. The ROPA is a living document that must be kept up-to-date as Layer5's data processing activities evolve. -

      */} @@ -266,17 +347,24 @@ const Privacy = () => {

      How to Contact Us

      -

      We are committed to proactively ensuring clarity in all corporate communications to reinforce professionalism and transparency. We welcome your comments or questions about this privacy policy. You may also contact us as follows: +

      + We are committed to proactively ensuring clarity in all corporate communications to reinforce professionalism and transparency. We welcome your comments or questions about this privacy policy. You may also contact us as follows:

      - Layer5, Inc
      - 1000 Congress Avenue
      - Austin, Texas 78735
      - Email Address: legal@layer5.io
      + Layer5, Inc +
      + 1000 Congress Avenue +
      + Austin, Texas 78735 +
      + Email Address: legal@layer5.io +
      Telephone number: 512-810-8200

      - Last Updated: March 8th, 2024 + + Last Updated: March 8th, 2024 +

      diff --git a/src/sections/Company/Legal/sub-processors/index.js b/src/sections/Company/Legal/sub-processors/index.js index a6038c56c0e32..061f08dc1b101 100644 --- a/src/sections/Company/Legal/sub-processors/index.js +++ b/src/sections/Company/Legal/sub-processors/index.js @@ -1,240 +1,285 @@ - import React from "react"; import { Container, Row, Col } from "../../../../reusecore/Layout"; import PageHeader from "../../../../reusecore/PageHeader"; - import TermsWrapper from "../terms.style"; +import { useStyledDarkMode } from "../../../../theme/app/useStyledDarkMode"; +import { + styled, + Table, + TableContainer, + TableCell, + TableRow, + TableHead, + TableBody, + SistentThemeProvider, +} from "@sistent/sistent"; + +// Styled components from Privacy page +const StyledTableContainer = styled(TableContainer)(() => ({ + width: "100%", + backgroundColor: "transparent", + boxShadow: "none", + padding: 0, +})); + +const StyledTableRow = styled(TableRow)(({ theme }) => ({ + "&:nth-child(odd)": { + backgroundColor: theme.palette.background.default, + }, + "&:nth-child(even)": { + backgroundColor: theme.palette.background.secondary, + }, +})); + +const StyledTableCell = styled(TableCell)(({ theme }) => ({ + color: theme.palette.text.secondary, + fontSize: "0.975rem", + padding: "0.75rem", + borderBottom: `1px solid ${theme.palette.divider}`, + borderRadius: "4px", +})); + +const StyledHeaderCell = styled(StyledTableCell)(() => ({ + fontWeight: 600, + backgroundColor: "transparent", +})); + +// Data structure for sub-processors and service providers +const subProcessorData = [ + { + section: "Third-Party Sub-Processors", + rows: [ + { + name: "Amazon Web Services US", + applicableServices: "Community Discussion Forum", + typeOfService: "Cloud computing provider", + dataShared: "Community Discussion Forum user account data, posts, and comments therein.", + hostingRegions: "United States", + additionalInfo: "All accounts", + }, + { + name: "Equinix", + applicableServices: "Layer5 Cloud", + typeOfService: "Data center provider", + dataShared: "Layer5 Cloud user account data, including email addresses and hashed passwords.", + hostingRegions: "United States", + additionalInfo: "All accounts", + }, + { + name: "GitHub, Inc.", + applicableServices: "Layer5 Cloud", + typeOfService: "Code repository and version control", + dataShared: "Issue tracking", + hostingRegions: "United States", + additionalInfo: "", + }, + { + name: "Cloudflare, Inc.", + applicableServices: "Layer5 Cloud, kanvas.new", + typeOfService: "Content delivery network and DDoS mitigation", + dataShared: "Web traffic data", + hostingRegions: "United States", + additionalInfo: "", + }, + { + name: "Stripe", + applicableServices: "Layer5 Cloud, kanvas.new", + typeOfService: "Payment processing", + dataShared: "Payment information", + hostingRegions: "United States", + additionalInfo: "Commercial accounts only", + }, + { + name: "Slack", + applicableServices: "Internal Communications, Customer support messaging", + typeOfService: "Communication platform", + dataShared: "Messages, files, and user information", + hostingRegions: "United States", + additionalInfo: "Used for internal team communication and customer support interactions.", + }, + { + name: "Celonis, Inc. (make.com)", + applicableServices: "Layer5 Cloud (for workflow automation), open source community, Slack, and MailChimp", + typeOfService: "Workflow automation platform", + dataShared: "Workflow data and user information", + hostingRegions: "United States", + additionalInfo: "Used for automating workflows within Layer5 Cloud and open source community.", + }, + { + name: "ClickUp", + applicableServices: "Project Management and Task Tracking", + typeOfService: "Project management software", + dataShared: "Project data, tasks, and user information", + hostingRegions: "United States", + additionalInfo: "Used for managing internal projects and customer support tasks.", + }, + { + name: "Atlassian StatusPage", + applicableServices: "Public Service Status and Incident Communication", + typeOfService: "Status page hosting and incident communication", + dataShared: "Service status data and user information", + hostingRegions: "United States", + additionalInfo: "Used for communicating service status and incidents to users.", + }, + ], + }, + { + section: "Service Providers Contact Information", + rows: [ + { + name: "Amazon Web Services US", + contactInfo: 'https://aws.amazon.com/contact-us/', + dataProtectionAddendum: 'https://aws.amazon.com/compliance/data-privacy-faq/', + }, + { + name: "Equinix", + contactInfo: 'https://www.equinix.com/contact-us/', + dataProtectionAddendum: 'https://www.equinix.com/legal/data-protection-addendum/', + }, + { + name: "GitHub, Inc.", + contactInfo: 'GitHub Privacy Office
      88 Colin P. Kelly Jr. Street
      San Francisco, California 94107 USA
      dpo@github.com
      https://support.github.com/contact', + dataProtectionAddendum: 'https://docs.github.com/en/site-policy/privacy-policies', + }, + { + name: "Cloudflare, Inc.", + contactInfo: '101 Townsend Street
      San Francisco, CA 94107
      USA
      Emily Hancock
      Data Protection Officer
      legal@cloudflare.com
      https://www.cloudflare.com/contact/', + dataProtectionAddendum: 'https://www.cloudflare.com/terms/cloudflare-dpa/', + }, + { + name: "Stripe", + contactInfo: 'Stripe, Inc.
      510 Townsend St.
      San Francisco, CA 94103
      USA
      dpo@stripe.com
      https://support.stripe.com/contact', + dataProtectionAddendum: 'https://stripe.com/privacy', + }, + { + name: "Slack", + contactInfo: 'Slack Technologies, LLC
      500 Howard Street
      San Francisco, CA 94105
      USA
      dpo@slack.com
      https://slack.com/contact', + dataProtectionAddendum: 'https://slack.com/privacy', + }, + { + name: "Celonis, Inc. (make.com)", + contactInfo: 'Celonis, Inc.
      800 W El Camino Real, Suite 180
      Mountain View, CA 94040
      USA
      dpo@celonis.com
      https://www.celonis.com/contact/', + dataProtectionAddendum: 'https://www.make.com/en/privacy-and-gdpr', + }, + { + name: "ClickUp", + contactInfo: 'ClickUp, Inc.
      55 Almaden Blvd, Suite 650
      San Jose, CA 95113
      USA
      dpo@clickup.com
      https://www.clickup.com/contact', + dataProtectionAddendum: 'https://www.clickup.com/privacy', + }, + { + name: "Atlassian StatusPage", + contactInfo: 'Atlassian, Inc.
      350 Bush Street, 6th Floor
      San Francisco, CA 94104
      USA
      dpo@atlassian.com
      https://www.atlassian.com/contact', + dataProtectionAddendum: 'https://www.atlassian.com/legal/privacy-policy', + }, + ], + }, +]; + +const SubProcessors = () => { + const { isDark } = useStyledDarkMode(); -const subProcessors = () => { return ( - - + -

      - Effective Date: March 8th, 2024
      - Version 4
      +

      + + Effective Date: March 8th, 2024 +
      + Version 4 +

      - This document outlines the sub-processors and service providers that Layer5 works with to deliver our services. For comprehensive information about how we collect, use, and protect your personal data, please refer to our Privacy Policy.

      + This document outlines the sub-processors and service providers that Layer5 works with to deliver our services. For comprehensive information about how we collect, use, and protect your personal data, please refer to our Privacy Policy. +

      - To deliver our services effectively, Layer5, Inc. partners with various sub-processors, subsidiaries, and support providers. We may share customer data with the entities listed below to support our platform's functionality and performance. + To deliver our services effectively, Layer5, Inc. partners with various sub-processors, subsidiaries, and support providers. We may share customer data with the entities listed below to support our platform's functionality and performance.

      -

      Data Hosting Locations

      -

      To provide our users with transparency about where their data is stored, Layer5 has defined primary hosting locations for its services. Data is stored in a specific region in the United States based on the service used.

      - +

      + To provide our users with transparency about where their data is stored, Layer5 has defined primary hosting locations for its services. Data is stored in a specific region in the United States based on the service used. +

        -
      • Layer5 Cloud Account Data (cloud.layer5.io): All user account data is hosted in the United States at an Equinix datacenter in Dallas, Texas.
      • - -
      • Kanvas (kanvas.new): Design data is hosted in the United States at an Equinix datacenter in Dallas, Texas.
      • - -
      • Layer5 Discussion Forum Data (discuss.layer5.io): All forum data is hosted in the United States within the Amazon Web Services (AWS) US East region.
      • +
      • Layer5 Cloud Account Data (cloud.layer5.io): All user account data is hosted in the United States at an Equinix datacenter in Dallas, Texas.
      • +
      • Kanvas (kanvas.new): Design data is hosted in the United States at an Equinix datacenter in Dallas, Texas.
      • +
      • Layer5 Discussion Forum Data (discuss.layer5.io): All forum data is hosted in the United States within the Amazon Web Services (AWS) US East region.
      - -

      Please note that in some cases, certain third-party services (sub-processors) that we use to deliver our services may operate and process data in additional regions.

      - +

      + Please note that in some cases, certain third-party services (sub-processors) that we use to deliver our services may operate and process data in additional regions. +

      Can I change my data region?

      - -

      Since data is physically stored in a predetermined location, once an account begins storing data it cannot be moved. If you want to switch to a different region, contact your local partner or Enterprise account manager to create a new account hosted in the region of your choice going forward.

      - -

      Third-Party Sub-Processors

      -

      We engage the third-party organizations listed below to host customer data and provide specific functionalities within the Layer5 platform. These partners are integral to our service delivery and infrastructure.

      - -

      The hosting region for a sub-processor will typically align with your account's designated data region. For details on whether a specific sub-processor applies to your account's data region or service plan, please consult the Additional Information column in the list that follows.

      - - - - - - - - - - - - - - - {/* - - */} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {/* - - - - - */} -
      Table 1: Sub-Processors, Subsidiaries & Support
      NameApplicable ServicesType of ServiceData SharedSub-Processor Hosting RegionsAdditional Information
      When you browse our websites (layer5.io, getnighthawk.dev, meshery.dev, ) and applications (cloud.layer5.io, kanvas.new)
      Amazon Web Services USCommunity Discussion ForumCloud computing providerCommunity Discussion Forum user account data, posts, and comments therein.United StatesAll accounts
      EquinixLayer5 CloudData center providerLayer5 Cloud user account data, including email addresses and hashed passwords.United StatesAll accounts
      GitHub, Inc.Layer5 CloudCode repository and version controlIssue trackingUnited States
      Cloudflare, Inc.Layer5 Cloud, kanvas.newContent delivery network and DDoS mitigationWeb traffic dataUnited States
      StripeLayer5 Cloud, kanvas.newPayment processingPayment informationUnited StatesCommercial accounts only
      SlackInternal Communications, Customer support messagingCommunication platformMessages, files, and user informationUnited StatesUsed for internal team communication and customer support interactions.
      Celonis, Inc. (make.com)Layer5 Cloud (for workflow automation), open source community, Slack, and MailChimpWorkflow automation platformWorkflow data and user informationUnited StatesUsed for automating workflows within Layer5 Cloud and open source community.
      ClickUpProject Management and Task TrackingProject management softwareProject data, tasks, and user informationUnited StatesUsed for managing internal projects and customer support tasks.
      Atlassian StatusPagePublic Service Status and Incident CommunicationStatus page hosting and incident communicationService status data and user informationUnited StatesUsed for communicating service status and incidents to users.
      INTERNAL DOC##gdpr-10c#gdpr-2#gdpr-9b
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Table 2: Service Providers Contact Information
      NameContact InformationData Protection Addendum
      Amazon Web Services UShttps://aws.amazon.com/contact-us/https://aws.amazon.com/compliance/data-privacy-faq/
      Equinixhttps://www.equinix.com/contact-us/https://www.equinix.com/legal/data-protection-addendum/
      GitHub, Inc.GitHub Privacy Office
      - 88 Colin P. Kelly Jr. Street
      - San Francisco, California 94107 USA
      - dpo@github.com
      - https://support.github.com/contact
      https://docs.github.com/en/site-policy/privacy-policies
      Cloudflare, Inc. - 101 Townsend Street
      - San Francisco, CA 94107
      - USA
      - Emily Hancock
      - Data Protection Officer
      - legal@cloudflare.com
      - https://www.cloudflare.com/contact/
      https://www.cloudflare.com/terms/cloudflare-dpa/
      StripeStripe, Inc.
      - 510 Townsend St.
      - San Francisco, CA 94103
      - USA
      - dpo@stripe.com
      - https://support.stripe.com/contact
      https://stripe.com/privacy
      SlackSlack Technologies, LLC
      - 500 Howard Street
      - San Francisco, CA 94105
      - USA
      - dpo@slack.com
      - https://slack.com/contact
      https://slack.com/privacy
      Celonis, Inc. (make.com)Celonis, Inc.
      - 800 W El Camino Real, Suite 180
      - Mountain View, CA 94040
      - USA
      - dpo@celonis.com
      - https://www.celonis.com/contact/
      https://www.make.com/en/privacy-and-gdpr
      ClickUpClickUp, Inc.
      - 55 Almaden Blvd, Suite 650
      - San Jose, CA 95113
      - USA
      - dpo@clickup.com
      - https://www.clickup.com/contact
      https://www.clickup.com/privacy
      Atlassian StatusPageAtlassian, Inc.
      - 350 Bush Street, 6th Floor
      - San Francisco, CA 94104
      - USA
      - dpo@atlassian.com
      - https://www.atlassian.com/contact
      https://www.atlassian.com/legal/privacy-policy
      -

      - Last Updated: Sept 25th, 2025 -

      +

      + Since data is physically stored in a predetermined location, once an account begins storing data it cannot be moved. If you want to switch to a different region, contact your local partner or Enterprise account manager to create a new account hosted in the region of your choice going forward. +

      + + + + {subProcessorData.map((section, index) => ( + + + + + + {section.section === "Third-Party Sub-Processors" ? ( + <> + Name + Applicable Services + Type of Service + Data Shared + Sub-Processor Hosting Regions + Additional Information + + ) : ( + <> + Name + Contact Information + Data Protection Addendum + + )} + + + + + + {section.section} + + + {section.rows.map((row, rowIndex) => ( + + {row.name} + {section.section === "Third-Party Sub-Processors" ? ( + <> + {row.applicableServices} + {row.typeOfService} + {row.dataShared} + {row.hostingRegions} + {row.additionalInfo} + + ) : ( + <> + + + + )} + + ))} + +
      {`Table ${index + 1}: ${section.section}`}
      +
      + ))} + +
      +
      +

      + + Last Updated: Sept 25th, 2025 + +

      @@ -242,4 +287,4 @@ const subProcessors = () => { ); }; -export default subProcessors; \ No newline at end of file +export default SubProcessors; \ No newline at end of file diff --git a/src/sections/Company/Legal/terms.style.js b/src/sections/Company/Legal/terms.style.js index 538a274049fb6..1e0e253a650db 100644 --- a/src/sections/Company/Legal/terms.style.js +++ b/src/sections/Company/Legal/terms.style.js @@ -26,115 +26,7 @@ hr {margin: 1rem 0;} box-sizing: border-box; } -table { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - display: table; -} - -th, -caption { - text-align: start; - font-weight: bold; -} - -caption { - margin-block: 0.75rem; -} -td { - text-align: start; - font-size: 0.925rem; -} - -thead { - border-block-end: 2px solid; - background: ${props => props.theme.green00D3A9ToBlackTwo}; -} - -tfoot { - text-align: center; - border-block: 2px solid; - background: ${props => props.theme.green00D3A9ToBlackTwo}; - font-size: 0.825rem; -} - -tfoot:hover { - cursor: not-allowed; -} - -th, -td { - border: 1px solid ${props => props.theme.grey111111ToGreyFAFAFA}; - padding: 0.25rem 0.75rem; - vertical-align: middle; -} - -thead th, -tfoot th { - background: ${props => props.theme.green00D3A9ToBlackTwo}; -} - -thead th { - vertical-align: middle; -} - -td:first-of-type, :where(thead, tfoot) th:nth-child(2) { - border-inline-start: none; -} -// th:first-child { -// position: sticky; -// inset-inline-start: 0; -// border-inline-end: none; -// } - -// th:first-of-type { -// width: 10rem; -// } - -tr.section { - background: ${props => props.theme.green3C494FToGreyF5F5F5}; - font-weight: 700; -} - tr.section td:first-child { - colspan: 4; - } - -// tbody tr:nth-child(even) { -// background: ${props => props.theme.green3C494FToGreyF5F5F5}; -// } - -th:first-child::after { - content: ''; - position: absolute; - inset-block-start: 0; - inset-inline-end: 0; - width: 1px; - height: 100%; - background: ${props => props.theme.blackFourToWhiteFour}; -} - -// table, tr { -// display: table; -// border-spacing: 2px; -// border-collapse: collapse; -// box-sizing: border-box; -// text-indent: 0; -// border: 1px solid #aaa; -// border-radius: 5px; -// } -// tr {border-bottom: 1px solid #aaa;} -// -// th { -// font-weight: 700; -// background: ${props => props.theme.blackFourToWhiteFour}; -// } -// td { -// font-size: .95rem; -// // padding: 5px; -// vertical-align: middle; -// } @media only screen and (max-width: 420px) { .conduct_heading { text-align: left;