// @ts-nocheck import { PermissionAction } from '@supabase/shared-types/out/constants' import { Download } from 'lucide-react' import Link from 'next/link' import { toast } from 'sonner' import { Button } from 'ui' import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader' 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 { useCheckEntitlements } from '@/hooks/misc/useCheckEntitlements' import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization' 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 { hasAccess: hasAccessToQuestionnaire, isLoading: isLoadingEntitlement } = useCheckEntitlements('security.questionnaire') 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: unknown) { const message = error instanceof Error ? error.message : 'Unknown error occurred' toast.error(`Failed to download Security Questionnaire: ${message}`) } } const handleDownloadClick = () => { if (!slug) return sendEvent({ action: 'document_view_button_clicked', properties: { documentName: 'Standard Security Questionnaire' }, groups: { organization: slug }, }) fetchQuestionnaire(slug) } return (

Standard Security Questionnaire

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

{isLoadingPermissions || isLoadingEntitlement ? (
) : !canReadSubscriptions ? ( ) : !hasAccessToQuestionnaire ? (
) : (
)}
) }