From 64ba75d88b8bca77ec10922a34b0e58b15039dcd Mon Sep 17 00:00:00 2001
From: Danny White <3104761+dnywh@users.noreply.github.com>
Date: Mon, 23 Mar 2026 16:29:32 +1100
Subject: [PATCH] chore(studio): polish privacy policy notice (#43889)
## What kind of change does this PR introduce?
Minor polish
## What is the current behavior?
We have a privacy policy notice that uses `Alert_Shadcn_` with bespoke
links and badge.
## What is the new behavior?
- Reuse `Admonition` and `InlineLink` components
- Use sentence case as per our copywriting guidelines
- Tighten copywriting
| Before | After |
| --- | --- |
|
|
|
## Additional context
Legal should sign off on this too.
---
.../Account/Preferences/AnalyticsSettings.tsx | 53 +++++++++----------
1 file changed, 24 insertions(+), 29 deletions(-)
diff --git a/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx b/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx
index 45b2c8cecca..8a8baaf7b25 100644
--- a/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx
+++ b/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx
@@ -1,16 +1,15 @@
import { zodResolver } from '@hookform/resolvers/zod'
+import { useConsentState } from 'common'
+import { LOCAL_STORAGE_KEYS } from 'common/constants/local-storage'
+import { ButtonTooltip } from 'components/ui/ButtonTooltip'
+import { InlineLink } from 'components/ui/InlineLink'
+import { useSendResetMutation } from 'data/telemetry/send-reset-mutation'
+import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
import { X } from 'lucide-react'
import { useForm } from 'react-hook-form'
import { toast } from 'sonner'
-import * as z from 'zod'
-
-import { useConsentState } from 'common'
-import { LOCAL_STORAGE_KEYS } from 'common/constants/local-storage'
-import { useSendResetMutation } from 'data/telemetry/send-reset-mutation'
-import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage'
-import { Alert_Shadcn_, AlertDescription_Shadcn_, AlertTitle_Shadcn_, Badge } from 'ui'
-import { ButtonTooltip } from 'components/ui/ButtonTooltip'
-import { Card, CardContent, FormControl_Shadcn_, FormField_Shadcn_, Form_Shadcn_, Switch } from 'ui'
+import { Card, CardContent, Form_Shadcn_, FormControl_Shadcn_, FormField_Shadcn_, Switch } from 'ui'
+import { Admonition } from 'ui-patterns/admonition'
import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout'
import {
PageSection,
@@ -20,6 +19,7 @@ import {
PageSectionSummary,
PageSectionTitle,
} from 'ui-patterns/PageSection'
+import * as z from 'zod'
export const PrivacyUpdateBanner = () => {
const [privacyUpdateAcknowledged, setPrivacyUpdateAcknowledged] = useLocalStorageQuery(
@@ -30,25 +30,20 @@ export const PrivacyUpdateBanner = () => {
if (privacyUpdateAcknowledged) return null
return (
-
-
-
- NOTICE
-
- Privacy Policy Update – Effective March 16, 2026
-
-
- We've updated our{' '}
-
- Privacy Policy
- {' '}
- to clarify our use of analytics, cookies, and advertising audience management tools. By
- continuing to use Supabase after March 16, you agree to the new terms. Questions? Contact{' '}
-
- our team
-
- .
-
+
+ We’ve clarified how we use analytics, cookies, and advertising tools in our{' '}
+ privacy policy, effective
+ March 16, 2026. By continuing to use Supabase, you agree to the updated terms.{' '}
+ Contact us with any
+ questions.{' '}
+ >
+ }
+ className="mb-10 relative"
+ >
}
@@ -56,7 +51,7 @@ export const PrivacyUpdateBanner = () => {
onClick={() => setPrivacyUpdateAcknowledged(true)}
tooltip={{ content: { side: 'bottom', text: 'Dismiss' } }}
/>
-
+
)
}