🛡
Dignity Labs
  • Terms
  • Privacy
  • Disclaimer

Privacy Policy

Suracode Web Scam Checker — Privacy Addendum

Effective Date: 31 March 2026 · Last Updated: 31 March 2026

This addendum supplements the Dignity Labs Base Privacy Policy. It details what data the Suracode web scam checker at suracode.co.uk specifically collects and how it is handled. For the Suracode mobile app, see the Suracode App Privacy Addendum.

WP1. Our Core Principle

We collect the minimum data necessary to provide the service. The web scam checker runs entirely in your browser. No data is transmitted when you run a scan. Pattern matching, text extraction, email domain checks, and PII redaction all happen on your device. We have no visibility into what you scan.

Pro features (coming soon) will require sending limited, specific data to external services. Before any data leaves your browser, you will review exactly what will be transmitted and must confirm.

WP2. What Happens When You Run a Scan

When you paste a message or upload a screenshot and run a scan, the following happens entirely in your browser:

  • Text is extracted from screenshots using Tesseract.js (loaded from jsDelivr CDN — see WP9.1)
  • The text is matched against 608 scam patterns stored in the page code
  • URLs, email addresses, and phone numbers are extracted from the text
  • Email domains are checked against a list of suspicious TLDs and patterns
  • A risk score and matched categories are displayed

None of this data is transmitted anywhere. No network requests are made. The scan runs offline once the page has loaded.

WP3. What Will Happen During a Pro Scan (Coming Soon)

Pro features are not yet available. When launched, they will transmit limited data to external services via Supabase Edge Functions hosted in the European Union (Frankfurt, Germany). There will be two Pro paths:

WP3.1 AI Tactics Analysis

Your message text is stripped of personal information in your browser before transmission. Names, phone numbers, email addresses, postcodes, card numbers, National Insurance numbers, sort codes, account numbers, dates of birth, and reference numbers are replaced with placeholder tags (e.g. [NAME], [PHONE], [EMAIL]). A secondary safety check in the Supabase Edge Function catches any personal data the browser redaction missed — if residual personal data is detected, the request is rejected and no data is forwarded.

The redacted text is sent to Anthropic's Claude API for analysis. The original unredacted text never leaves your browser. See WP6 for Anthropic's data handling.

WP3.2 Database Lookup

URLs, email addresses, and phone numbers extracted from the message are shown to you for review. Each item has a "This is mine — skip" option so you can exclude any item that belongs to you. Only the items you approve are sent to external threat intelligence services via a Supabase Edge Function. These are the scammer's contact details, not yours. No message content is transmitted. See WP5 for the full list of services.

WP4. Web Accounts (Supabase Auth)

If you create a web account on suracode.co.uk, authentication is handled by Supabase Auth using email and password. When you register:

  • Supabase Auth stores your email address and password hash in its managed authentication system
  • Your email address is additionally stored in encrypted form (AES-256-GCM ciphertext and HMAC-SHA256 hash) in our application database for breach-resilient communication
  • Your identity within our application tables is represented by an anonymous UUID
  • We do not store your password — only Supabase Auth holds the hash

Supabase acts as our data processor for authentication data. Their handling of this data is governed by their privacy policy and our data processing agreement (signed 17 March 2026, ref DFST6-4GVXN-YZ7U2-XPRNF, UK Addendum).

Data TypeStored ByDignity Labs AccessPurpose
Email address (plaintext)Supabase AuthRequired by Supabase for login and password resetAuthentication
Email address (encrypted)Our application databaseDecryptable only with keys held outside the databaseBreach-resilient communication, receipts
Email address (HMAC hash)Our application databaseIrreversible — supports lookups without decryptionSupport, breach notification
Password hashSupabase AuthWe cannot access or read thisAuthentication
Anonymous UUIDOur application databaseCannot be linked to your identity without Supabase Auth accessAccount identification

WP5. Threat Intelligence Services (Pro Database Lookup — Coming Soon)

When Pro features launch and you approve items for database checking, they will be sent to external threat intelligence services via a Supabase Edge Function. The specific services queried will depend on the type of item.

URLs are checked against: Google Safe Browsing (malware, phishing, social engineering), URLhaus by abuse.ch (malware distribution), PhishTank (confirmed phishing URLs), PhishDestroy (domain threat scoring), ScamAdviser (trust scoring), API Ninjas (domain age via WHOIS), and Trustpilot (business reviews). Not all services are active at all times — if a service is unavailable or not configured, that check is silently skipped.

Email addresses are checked against: EmailRep (reputation and suspicion scoring).

Phone numbers: Premium-rate prefix detection only. No external service receives your phone number data.

Each service receives only the specific item being checked (a URL, an email address, or a phone number). No message content, no personal information, and no account identifiers are transmitted to any threat intelligence service.

ServiceData ReceivedPrivacy Policy
Google Safe BrowsingURLspolicies.google.com/privacy
URLhaus (abuse.ch)URLsabuse.ch/privacy
PhishTankURLsphishtank.org
PhishDestroyDomainsphishdestroy.com
ScamAdviserURLsscamadviser.com/privacy-policy
API NinjasDomainsapi-ninjas.com/privacy
TrustpilotDomainslegal.trustpilot.com/privacy
EmailRepEmail addressesemailrep.io

WP6. AI Analysis (Anthropic Claude API)

When you use the AI tactics analysis feature, PII-redacted text is sent to Anthropic, PBC via their Claude API. Anthropic acts as a data processor for this data.

  • Only PII-redacted text is sent — personal details are replaced with placeholder tags before transmission
  • Anthropic's commercial API does not use inputs for model training
  • API logs are retained by Anthropic for up to 7 days before automatic deletion
  • Anthropic's data processing addendum with standard contractual clauses applies
  • If residual personal data is detected by the server-side safety net, the request is rejected before reaching Anthropic

Anthropic's privacy policy: anthropic.com/privacy

WP7. Payment Processing

No payment processing is currently active. When Pro features launch, any payment processing will be handled by a PCI-compliant third party — Dignity Labs will never receive or store your card details. This section will be updated before any payment functionality goes live.

WP8. Data Stored in Our Application Database

If you create a web account, the following data is stored in our Supabase database (Frankfurt, Germany, EU):

Data TypePurposePersonal Data?
Anonymous UUIDIdentify your accountNo
Encrypted email (AES-256-GCM)Breach-resilient communicationYes (encrypted — decryptable only with keys held outside database)
Email hash (HMAC-SHA256)Lookup without decryptionNo (irreversible)

We do not store: message content, screenshots, extracted text, scam check results, URLs checked, emails checked, phone numbers checked, or any content you submit to the scam checker. The transaction metadata column is explicitly prohibited from containing any user-submitted content.

WP9. Third-Party Services and Infrastructure

WP9.1 Tesseract.js (OCR)

If you upload a screenshot, the Tesseract.js library is loaded from jsDelivr CDN to extract text. All text extraction happens in your browser — no image data is transmitted to any service. Loading the script exposes your IP address to jsDelivr's CDN. jsDelivr's privacy policy: jsdelivr.com/privacy-policy-jsdelivr

WP9.2 Google Fonts

Font files are loaded from Google's servers, which exposes your IP address to Google. Google Fonts privacy: developers.google.com/fonts/faq/privacy

WP9.3 Cloudflare

Both suracode.co.uk and dignitylabs.co.uk are hosted on Cloudflare Pages. Cloudflare processes your IP address and request metadata as part of hosting. Cloudflare's privacy policy: cloudflare.com/privacypolicy

WP9.4 Supabase

Our application database and Edge Functions are hosted on Supabase (Frankfurt, Germany, EU). Supabase complies with GDPR and maintains SOC 2 Type II certification. All connections use HTTPS/TLS. Our data processing agreement with Supabase was signed 17 March 2026. Supabase's privacy policy: supabase.com/privacy

WP10. Rate Limiting

We use IP address hashing (SHA-256 with a secret salt) to enforce rate limits on Pro features. Your raw IP address is never stored — only an irreversible hash. Rate limit records are purged after 24 hours. Authenticated users receive higher rate limits than anonymous users.

WP11. localStorage

The web scam checker stores a usage counter in your browser's localStorage under the key sc_usage. This contains only a date and a usage count. No personal information or message content is stored. You can clear this data at any time via your browser settings.

WP12. Encrypted Email Storage

If you create a web account, your email address is stored in both Supabase Auth (plaintext, required for login and password reset) and in our application database in encrypted form (AES-256-GCM ciphertext with HMAC-SHA256 hash for lookups). The encryption keys are stored outside the database in Supabase Edge Function secrets and backed up in an offline vault. In the event of a database breach affecting our application tables, your email address would remain protected.

This does not protect against a compromise of the Supabase Auth auth.users table, which Supabase manages. A breach of that table would expose email addresses stored by Supabase Auth for authentication purposes.

WP13. Data Retention

Data TypeRetention Period
Rate limit recordsPurged after 24 hours
Encrypted email recordDeleted on account deletion
Supabase Auth recordDeleted within 30 days of account deletion request
localStorage dataPersists until you clear browser data
Support correspondence2 years from last contact

WP14. How to Delete Your Data

To delete your web account and all associated data: Contact [email protected]. Deletion removes your encrypted email record and Supabase Auth record.

To delete localStorage data: Clear your browser's site data for suracode.co.uk or dignitylabs.co.uk.

We process deletion requests within 30 days.

WP15. Information We Do NOT Collect

We explicitly do not collect or store: message content you submit for scanning, screenshots you upload, extracted text from screenshots, URLs checked via Pro lookup, email addresses checked via Pro lookup, phone numbers checked via Pro lookup, your browsing history, advertising identifiers, cookies (beyond Cloudflare's essential hosting cookies), analytics data, or your location.

WP16. Summary

QuestionAnswer
Do you sell my data?No, never
Can you see what I scan?No. Scans run entirely in your browser. When Pro features launch, AI analysis will receive only PII-redacted text and lookups will receive only user-approved URLs, emails, and phone numbers.
Do you store my scan results?No. We do not store any scan results, message content, or checked items.
Where is my data stored?EU (Frankfurt, Germany) via Supabase.
Can I delete my data?Yes — contact [email protected]
Do you track me?No cookies, no analytics, no tracking. Rate limiting uses an irreversible hash of your IP address, purged after 24 hours.
Who can I complain to?The ICO (ico.org.uk)

This addendum was last updated on 31 March 2026.

© 2026 Dignity Labs Ltd · Company 16954194 · Registered in England and Wales · All rights reserved

Base Privacy · Suracode App Privacy · Suracode Web Privacy · Pocket Proof Privacy · Terms · Home