import { PermissionAction } from '@supabase/shared-types/out/constants' import { Download } from 'lucide-react' import Link from 'next/link' import { toast } from 'sonner' import { ScaffoldSection, ScaffoldSectionContent, ScaffoldSectionDetail, } from 'components/layouts/Scaffold' import NoPermission from 'components/ui/NoPermission' import { getDocument } from 'data/documents/document-query' import { useSendEventMutation } from 'data/telemetry/send-event-mutation' import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions' import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization' import { Button } from 'ui' import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader' export const SecurityQuestionnaire = () => { const { data: organization } = useSelectedOrganizationQuery() const slug = organization?.slug const { mutate: sendEvent } = useSendEventMutation() const { can: canReadSubscriptions, isLoading: isLoadingPermissions } = useAsyncCheckPermissions( PermissionAction.BILLING_READ, 'stripe.subscriptions' ) const currentPlan = organization?.plan const fetchQuestionnaire = async (orgSlug: string) => { try { const questionnaireLink = await getDocument({ orgSlug, docType: 'standard-security-questionnaire', }) if (questionnaireLink?.fileUrl) window.open(questionnaireLink.fileUrl, '_blank') } catch (error: any) { toast.error(`Failed to download Security Questionnaire: ${error.message}`) } } return ( <>

Standard Security Questionnaire

Organizations on Team Plan or above have access to our standard security questionnaire.

{isLoadingPermissions ? (
) : !canReadSubscriptions ? ( ) : ( <>
{currentPlan?.id === 'free' || currentPlan?.id === 'pro' ? ( ) : ( )}
)}
) }