Privacy Framework

Client-Side Privacy Policy

Last updated: September 2026

SovereignShield is engineered with a strict local-first data sovereignty architecture. Traditional compliance auditing tools require transmitting your organization's security posture checklist states to intermediate cloud servers. SovereignShield stores compliance work locally; you control when to export or share it.

1. Data Storage & Custody

All checked state parameters, telemetry ratios, and compliance ratings reside entirely within your browser's localStorage cache. We do not maintain external servers to collect, ingest, index, or parse your configuration selections. Your data remains in your exclusive custody.

2. Network Activity & Analytics

Compliance calculations and saved control state are processed locally. We do not load Google Analytics or advertising trackers. Hosting requests and optional network features are described below. LocalStorage is accessible to scripts on this origin and is not an encrypted vault.

3. Payment Processing & Subscription Billing

Subscription billing and payment processing for SovereignShield Premium ($49/month) are handled directly and securely by our Merchant of Record, Paddle. SovereignShield does not collect, store, or process credit card details, bank account numbers, or payment credentials. Transaction data and billing invoices are managed strictly under Paddle's Privacy Policy and Security standards.

4. Ledger Downloads & Local Memory

When you execute the audit ledger export engine or local PDF report generator, the compilation runs locally inside client-side browser memory. It creates a memory Blob stream that prompts a direct operating system download. No network packets or telemetry data are dispatched during compilation.

5. Policy Modifications

Newsletter signup is optional. When configured, your submitted email is forwarded through our Cloudflare endpoint to Buttondown for confirmation and delivery. Compliance answers and evidence are not included. Policy revisions are published on this page.

Network activity register

Site hosting

Serve pages and assets.

Destination: sovereignshieldapp.com (Cloudflare)

Sent: Requested URL, IP address, and HTTP headers.

Sensitive data: URLs can contain information you choose to include; keep secrets out of queries.

Required: Required for the hosted site.

Local alternative: Run a local build.

Domain scanner

Resolve DNS records on request.

Destination: https://dns.google/resolve

Sent: Domain and DNS record type.

Sensitive data: Domain may identify your organization; no ledger state.

Required: Optional, when you run a scan.

Local alternative: Use your own DNS resolver.

CVE scanner

Look up package vulnerabilities.

Destination: https://api.osv.dev/v1/querybatch

Sent: Package names, ecosystems, and versions.

Sensitive data: Dependency inventory; no source code or ledger state.

Required: Optional, when you run a scan.

Local alternative: Use an offline vulnerability database.

Checkout

Process a purchase after a checkout click.

Destination: Paddle SDK, API, and hosted checkout

Sent: Selected product, browser metadata, and billing details you enter.

Sensitive data: Billing details; no assessment answers or evidence.

Required: Optional, for purchases only.

Local alternative: Use the free local workspace.

Entitlement & Pro activation

Verify completed Paddle transaction and issue cryptographically signed ECDSA P-256 license token.

Destination: /api/entitlement (proxied to Paddle API when server key is configured)

Sent: Transaction ID or license key. No compliance state, assessment answers, or notes.

Sensitive data: Transaction ID and billing email; no compliance ledger state.

Required: Optional, for Pro license activation only.

Local alternative: Activate offline using pre-issued cryptographic license tokens.

Newsletter & RSS

Optional email digest when configured, or zero-tracking RSS updates (/rss.xml).

Destination: /api/subscribe (proxied to Buttondown when configured) or static /rss.xml

Sent: Submitted email and, when you opt into the Team-plan interest list, that interest label. Static RSS fetch transmits normal HTTP metadata.

Sensitive data: Email address and optional plan interest; no compliance state.

Required: Optional; email digest requires configured server API key.

Local alternative: Subscribe via /rss.xml or download the checklist PDF directly (100% client-side, 0 bytes egress).

Peer sync

Connect directly and transfer approved compliance state.

Destination: stun:stun.l.google.com:19302 and the peer you select

Sent: STUN receives network address information. The approved peer receives controls, notes, owners, deadlines, and vendor evidence. DPDP records are excluded from peer sync.

Sensitive data: Compliance state is sensitive. Encryption does not independently authenticate a peer.

Required: Optional, when you start sync.

Local alternative: Use a password-encrypted local backup.

Embedded badge

Display the score configured by the embedding site.

Destination: /widget.js and /badge.svg

Sent: Configured score/frameworks and normal HTTP metadata.

Sensitive data: Self-reported score, if you publish it.

Required: Optional, for embeds only.

Local alternative: Host a static badge image.