diff --git a/src/app/(public)/privacy/page.tsx b/src/app/(public)/privacy/page.tsx index aa47b64..66f615e 100644 --- a/src/app/(public)/privacy/page.tsx +++ b/src/app/(public)/privacy/page.tsx @@ -48,6 +48,11 @@ export default async function PrivacyPage() { ) : null} + {/* Claim audit + Code-verified: consent/GPC analytics handling, analytics toggle, export/delete controls, US geo-gate, AES256 storage headers. + Deployment-dependent: processing/storage region and exact provider infrastructure locations. + Operator-statement: OpenReader does not sell personal information. + */}
diff --git a/src/components/PrivacyModal.tsx b/src/components/PrivacyModal.tsx index dbf0567..b462a32 100644 --- a/src/components/PrivacyModal.tsx +++ b/src/components/PrivacyModal.tsx @@ -29,7 +29,20 @@ function PrivacyModalBody({ origin }: { origin: string }) {

We value your privacy. This application uses strictly necessary cookies for authentication - and anonymous analytics to improve performance. Your documents are stored securely and encrypted at rest. + and optional analytics only when consent allows it. Your documents are stored encrypted at rest. +

+ +

+ OpenReader does not currently provide end-to-end encryption. +

+ +

+ The owner of this instance may be able to access stored metadata and uploaded files needed to operate the + service. +

+ +

+ Passwords are not stored as readable plaintext.