// @ts-nocheck import { PermissionAction } from '@supabase/shared-types/out/constants' import { Download } from 'lucide-react' import { useState } from 'react' import { toast } from 'sonner' import { Button } from 'ui' import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal' import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader' import { ScaffoldSection, ScaffoldSectionContent, ScaffoldSectionDetail, } from '@/components/layouts/Scaffold' import NoPermission from '@/components/ui/NoPermission' import { UpgradePlanButton } from '@/components/ui/UpgradePlanButton' import { getDocument } from '@/data/documents/document-query' import { useSendEventMutation } from '@/data/telemetry/send-event-mutation' import { useCheckEntitlements } from '@/hooks/misc/useCheckEntitlements' import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization' export const ISO27001 = () => { const { data: organization } = useSelectedOrganizationQuery() const slug = organization?.slug const { mutate: sendEvent } = useSendEventMutation() const { can: canReadSubscriptions, isLoading: isLoadingPermissions } = useAsyncCheckPermissions( PermissionAction.BILLING_READ, 'stripe.subscriptions' ) const { hasAccess: hasAccessToISO27001, isLoading: isLoadingEntitlement } = useCheckEntitlements( 'security.iso27001_certificate' ) const [isOpen, setIsOpen] = useState(false) const fetchISO27001 = async (orgSlug: string) => { try { const link = await getDocument({ orgSlug, docType: 'iso27001-certificate' }) if (link?.fileUrl) window.open(link.fileUrl, '_blank') setIsOpen(false) } catch (error: unknown) { const message = error instanceof Error ? error.message : 'Unknown error occurred' toast.error(`Failed to download ISO 27001 certificate: ${message}`) } } const handleDownloadClick = () => { if (!slug) return sendEvent({ action: 'document_view_button_clicked', properties: { documentName: 'ISO27001' }, groups: { organization: slug }, }) setIsOpen(true) } return (

ISO 27001

Organizations on Team Plan or above have access to our most recent ISO 27001 certificate.

{isLoadingPermissions || isLoadingEntitlement ? (
) : !canReadSubscriptions ? ( ) : !hasAccessToISO27001 ? (
) : (
)} setIsOpen(false)} onConfirm={() => { if (slug) fetchISO27001(slug) }} >
  1. The information that you are about to access is confidential.
  2. Your access to our ISO 27001 materials is governed by confidentiality obligations contained in the agreement between Briven, Inc ("Briven", "we", "our" or "us") and the Briven customer that has authorized you to access our platform to obtain this information (our "Customer").
  3. You must ensure that you treat the information in our ISO 27001 materials in accordance with those confidentiality obligations, as communicated to you by the Customer.
  4. By clicking "I agree" below or otherwise accessing our ISO 27001 materials, you:
    1. acknowledge that you have read and understood this Confidentiality Notice;
    2. confirm that you have been authorized by the Customer to access this information, and your use of our ISO 27001 materials is subject to the confidentiality obligations owed by the Customer to us.
  5. This Confidentiality Notice does not substitute or supersede any agreement between us and the Customer, or any internal rules or policies that the Customer requires you to comply with in your access to and use of confidential information. However, your failure to comply with this Confidentiality Notice may be used to determine whether the Customer has complied with its confidentiality obligations to us.
) }