Security

How Veridex protects your data and provides transparent, privacy-first phishing risk analysis.

Last Updated: October 12, 2026

1. Security Overview

Veridex is a Chrome browser extension that provides phishing risk indicators and analysis results for Gmail and Outlook Web only (mail.google.com, outlook.office.com, outlook.live.com). It does not run on or access any other websites. It is designed to help you make informed decisions about suspicious emails.

What Veridex Is

  • Advisory-only: Veridex provides guidance and risk indicators: it does not block, quarantine, delete, or prevent any user actions
  • Two states: Without AI protection, Veridex does not analyze your email and the toolbar icon stays grey; there is no on-device verdict mode. Before you sign in, the extension only sends a random device ID, its version and an event each time a risk indicator is shown in Gmail (no email content), and the "Enable Veridex" toggle stops scanning and these events. AI protection requires that you sign in and give explicit consent, and you can withdraw consent at any time; when it is on, each email you open is sent to Veridex servers and analyzed by Veridex AI (powered by OpenAI) to set its risk indicator.
  • Risk indicator: The toolbar icon is grey when AI protection is off, because Veridex is not analyzing your email. With AI protection on, it shows green, yellow or red. Red (high risk) is shown when a deception indicator fires (e.g. reply-to mismatch, link masking, suspicious attachments), when Veridex AI or a URLhaus match classifies the email as malicious, or when you have blocked the sender. Yellow is shown for suspicious or review-recommended results, including soft scam patterns (e.g. certified-check + third-party pickup) and cases where AI analysis is unavailable. Full analysis is always user-initiated and sends content only when you click Analyze.
  • Deeper analysis: The "Analyze" feature sends email content to Veridex servers and OpenAI only when you click it (and only if you are signed in and have consented to AI protection); it adds up to 10 earlier thread messages and about 8,000 characters of the body, and checks the sender domain via RDAP and DNS (SPF/DMARC); results are shown in the extension's side panel
  • Privacy-first: Veridex never stores email bodies. For emails flagged as suspicious or malicious in a full analysis, Veridex keeps the sender address, subject, its analysis and flagged link hosts for 90 days. The backend also keeps technical metadata for every full analysis (verdict, risk level, sender and link domains, rule IDs, timing and your response: never message bodies) until your account is deleted: see Network Intelligence (Backend) and the Privacy Policy. All extension code is bundled in the package: we do not load or execute code from the internet (no remote scripts)

What Veridex Is Not

  • Not an enforcement tool: Veridex cannot and does not block emails, prevent clicks, or quarantine messages
  • Not a guarantee: No detection system can identify all threats: Veridex provides indicators, not certainties
  • Not a replacement for caution: Users must still exercise judgment, especially for sensitive actions like financial transactions

Important: Veridex helps inform your decisions, but the final decision is always yours. Always verify sensitive requests through known, trusted channels.

2. System Architecture & Data Flow

Veridex uses a layered architecture designed to maximize privacy while providing effective phishing detection.

Extension Components

1
Content Script: Runs only on Gmail and Outlook Web pages; when AI protection is on, it reads the email you open to set the risk indicator and for full analysis
2
Background/Service Worker: Coordinates analysis, manages state, and handles communication
3
Side Panel UI: Displays risk indicators, analysis results, chat and privacy controls to the user

Analysis Flow

1
Email Extraction: Content script extracts email content (subject, body, sender, recipients, URLs, attachment metadata) from the email client DOM
2
Signal Detection (AI protection on): Tier-1 hard flags (reply-to mismatch, link masking, URL obfuscation, suspicious attachments) and Tier-1 soft scam signals (marketplace/payment/pickup patterns) plus Tier-2 (contextual signals) are evaluated as part of the analysis. All text used for heuristics is kept in memory only and is never stored or logged. Without AI protection, Veridex does not analyze your email and shows no risk result.
3
Risk Assessment: Tier-1 hard flags produce HIGH (red). Tier-1 soft scam signals can produce MEDIUM (yellow) when multiple pattern families are present. Tier-2 signals inform LOW/MEDIUM decisions. The Veridex AI result (and any URLhaus link match) can also raise the result to yellow or red. When AI is unavailable, Veridex shows a "review recommended" (yellow) state rather than "safe".
4
Backend analysis (AI protection & full analysis): If you have signed in and consented to AI protection, each email you open is sent to Veridex servers and analyzed by Veridex AI, which uses OpenAI (subject, sender name and address, body truncated to 3,000 characters, links, and, in Gmail only, up to 2 short prior-thread snippets) to set the risk indicator. When you click "Analyze," the full email (subject, up to about 8,000 characters of body, sender, recipients, reply-to, date, links and up to 10 prior thread messages) is sent to Veridex servers and OpenAI; links (query strings removed) and hosts are checked against abuse.ch URLhaus, and the sender domain is looked up via rdap.org / IANA (RDAP) and DNS (SPF and DMARC). Email bodies are not stored. For emails flagged as suspicious or malicious in a full analysis, Veridex keeps the sender address, subject, its analysis and flagged link hosts for 90 days. A fire-and-forget job also writes a technical-metadata record for every full analysis (verdict, risk level, sender and link domains, rule IDs and timing) so Veridex can monitor abuse and improve detection; this write does not block the response and never includes subject, body, or full addresses.
5
Response Validation: The backend validates the AI output against a strict schema and returns structured JSON; malformed output is rejected
6
Display Results: Validated results are shown in the side panel; email content is discarded from memory

3. Data Handling & Privacy Principles

No Email Storage

Veridex never stores email bodies on its servers. Email content is processed in memory to produce a result and is not written to databases or logs. This includes all local heuristic and pattern-matching logic (e.g. Tier-1 hard flags and soft scam signals such as payment and pickup patterns). For emails flagged as suspicious or malicious in a full analysis, Veridex keeps the sender address, subject, its analysis (which may summarize the email) and flagged link hosts, and deletes them 90 days after they are first saved.

Email bodies are never:

  • Written to databases or logs
  • Included in telemetry or analytics

For flagged emails, the sender address, subject, analysis and flagged link hosts are kept for 90 days.

After analysis completes, email bodies are immediately discarded from memory.

Local Storage Contents

The extension uses chrome.storage.local only for non-content metadata:

  • Sender history: Sender addresses, sender domains, sender display names and sender-recipient pairs with interaction counts (max 1,000 senders, 500 domains, 500 display names and 1,000 pairs, with LRU eviction)
  • Thread state: Email thread identifiers and analysis states
  • Metrics: Aggregated statistics (scanned, flagged, paused, marked safe, reported) and scan performance metrics
  • Settings: Extension enabled/disabled state, risk thresholds, AI analysis preference
  • Activity log: Up to 50 recent events (time, provider, risk level, detection types): no email content
  • AI consent: Your AI protection consent record (granted or withdrawn, when, the consent policy version and extension version) and the on/off state of AI protection (auto_scan_enabled)
  • Account: Your cached account email and sign-in session
  • Device ID: Random identifier generated at install. It is sent to Veridex with the extension version on install and startup (before you sign in), and is used for backend authentication and analytics

Never stored locally: Email bodies, subject lines, link URLs, or attachment content. Only metadata (sender addresses, domains, display names, counts) is stored. Uninstalling the extension removes all local data.

Telemetry

Veridex collects minimal, privacy-safe telemetry for operational analytics. Before you sign in, the extension sends a random device ID and its version on install and startup, and logs an event each time a risk indicator is shown in Gmail. No email content is included, and the "Enable Veridex" toggle stops scanning and these events.

What Is Collected

  • Counters (e.g., scans completed)
  • Enumerated values (e.g., verdict, risk level, attack type)
  • Timing metrics (e.g., latency)
  • Device identifier and extension version
  • Risk-indicator events (when one is shown in Gmail)
  • Detection rule IDs, and sender, reply-to and link domains
  • Attachment file types (extensions only)
  • View correlation IDs

What Is Excluded

  • Email body
  • Email subject
  • Full sender, reply-to or recipient addresses
  • Full URLs from emails
  • Attachment names or contents

Backend enforces allow-listed event types and keys; unknown or free-text fields are rejected. Telemetry and the technical metadata for every full analysis are kept until your account is deleted. Telemetry is separate from the flagged-email store described above.

See the Privacy Policy for full details.

Network Intelligence (Backend)

Veridex operates a minimal, domain-centric intelligence layer on the analysis API. It exists to detect systemic abuse and improve phishing coverage: not to store mail. Events are written asynchronously after the client receives an analysis reply, so intelligence capture does not add latency to your scan.

Persisted fields (high level)

  • Domains: Sender domain, reply-to domain (if any), and domains parsed from links: not full URLs, headers, or RFC 5322 address strings
  • Signals: Opaque Tier-1 / Tier-2 rule identifiers that were present on the request
  • Verdict metadata: Summary classification, risk band, confidence, and timing of the analysis pipeline
  • Attachment metadata: File extensions only (no filenames or content)
  • Identifiers already in use: Device identifier and your organization identifier (if you belong to one) carried with the same authenticated request

Explicitly excluded from these records: Email bodies, subjects, full sender/recipient addresses, raw links as stored text, attachments, and any content usable to reconstruct a message. (Flagged-email analyses are a separate store: sender address, subject, analysis and flagged link hosts, deleted after 90 days.)

Internal dashboards and APIs that surface this data are protected with admin authentication (for example, token-gated routes). Common mailbox and infrastructure domains are filtered from "top domain" style views so product analytics emphasize suspicious infrastructure rather than consumer email hosts.

Operators can pause capture with a server-side flag during maintenance; this does not change how message content is processed for analysis.

Relationship to telemetry

Telemetry events remain subject to strict allow-lists (counters, enums, timing: no message content). Network intelligence rows are a separate store keyed to analysis outcomes; both are covered in the Privacy Policy.

4. AI Usage & Protections

When Backend / AI Is Used

Email content is sent to Veridex servers and OpenAI only when you are signed in and have given explicit consent to AI protection (which you can withdraw at any time; without it, Veridex does not analyze your email), in two situations: (1) AI protection: each email you open in Gmail or Outlook is sent (truncated) and analyzed by Veridex AI to show the green/yellow/red indicator; (2) "Analyze": when you click that button, the full email is sent for analysis. Chat questions are sent to OpenAI together with the analysis context. Email bodies are not stored; for flagged emails, Veridex keeps the sender address, subject, its analysis and flagged link hosts for 90 days.

What Is Sent

  • AI protection: subject, sender name and address, body truncated to 3,000 characters, and, in Gmail only, up to 2 short prior-thread snippets (links, with query strings removed, go to URLhaus, not OpenAI)
  • Analyze: subject, up to about 8,000 characters of body, sender name and address, date, links (query strings removed), reply-to domain and up to 10 prior thread messages go to OpenAI
  • Chat: your messages plus subject, sender domain, verdict and reasoning (not the email body; chat content is not stored)

What Is Not Sent

  • Your account email or sign-in token (not sent to OpenAI)
  • Recipient addresses and the full reply-to address (not sent to OpenAI)
  • Attachment contents

Prompt-Injection Protections

The backend treats email content as untrusted/hostile data and implements multiple layers of protection:

  • Role separation: System-level safety instructions, developer constraints, and user message (containing only delimited email content) are strictly separated
  • Strict delimiters: Email content is clearly delimited to prevent prompt escape
  • Output contract: JSON only, exact keys required, no extra keys permitted, size limits per field
  • Server-side validation: Malformed output or instruction-like markers are rejected

Fail-Safe Behavior

If AI output is invalid, malformed, or unavailable (due to rate limits, timeouts, or errors), Veridex does not default to “safe.” Instead, it recommends review and/or applies deterministic high-risk logic when applicable signals are present.

5. Security Controls

5.1 Input Validation & Abuse Prevention

  • Content-type checks: Requests must have correct content-type headers
  • Required fields: All required fields are validated before processing
  • Unknown key rejection: Unexpected fields in requests are rejected
  • Size limits: Hard limits on payload size prevent abuse
  • Rate limiting: Requests are rate-limited per signed-in account and per IP address

5.2 Output Validation & Fail-Safe Defaults

  • Strict schema: All responses must conform to the expected JSON schema
  • Invalid output rejection: Malformed or non-conforming responses are rejected
  • Safe fallback: When AI is unavailable or returns invalid output, the system recommends review rather than indicating no risk

5.3 Data Minimization & Retention

  • Minimal telemetry: Only the allow-listed fields described under Telemetry above are collected: no email bodies, subjects or full addresses
  • Retention: Flagged-email analyses are deleted 90 days after they are first saved. Technical metadata for every full analysis and other account data are kept until your account is deleted. Billing records are held by Stripe. Deletion on request (support@veridexhq.com) covers everything Veridex stores about you.
  • No email body storage: Email bodies are never stored on Veridex servers. A flagged email's saved analysis may summarize it.
  • Network intelligence: Structured rows retain only domains, signal IDs, verdict metadata, and attachment extensions: not message text; see Network Intelligence (Backend)

5.4 Operational Security

  • Security headers on veridexhq.com: X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Referrer-Policy: strict-origin-when-cross-origin, Strict-Transport-Security: max-age=63072000; includeSubDomains, Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), Content-Security-Policy-Report-Only (monitoring for Clerk, Vercel Analytics, and Next.js requirements)
  • No-store caching: Veridex API responses are sent with Cache-Control: no-store
  • No content logging: Email content is not written to server logs in production; logs use hashed identifiers
  • Server-side secrets: API keys and credentials remain server-side; they are never shipped to the client
  • Extension updates: The extension uses a versioned storage schema; updates add only missing defaults and run compatibility migrations: your existing local data is not overwritten or deleted when you update
  • No remote code: All extension logic is bundled in the extension package. We do not load or execute JavaScript or other code from the internet; there is no eval of remote content or dynamic script loading from external URLs

6. Known Limitations

Veridex provides helpful risk indicators, but no security tool is perfect. Users should be aware of the following limitations:

  • False positives: Legitimate emails may sometimes be flagged as potentially suspicious due to overlapping characteristics with phishing emails
  • False negatives: Some phishing emails may not trigger risk indicators, especially novel or highly sophisticated attacks
  • Novel attacks: New attack techniques that do not match known patterns may evade detection
  • Email client changes: Updates to Gmail or Outlook Web DOM structure may temporarily affect email extraction until the extension is updated
  • AI availability: AI-assisted analysis may be temporarily unavailable due to rate limits, timeouts, or service disruptions
  • User verification required: For any sensitive action (financial transactions, credential changes, etc.), users must independently verify requests through known, trusted channels

7. Responsible Use

Veridex helps inform your decisions, but security is a shared responsibility. Follow these best practices:

  • ✓Verify payment and account changes: Always confirm payment details, invoice changes, or bank account updates through a known, trusted channel (phone call to a verified number, in-person confirmation)
  • ✓Never share credentials or MFA codes: Legitimate organizations will not ask for your password or multi-factor authentication codes via email
  • ✓Navigate to sites manually: Instead of clicking email links, type the official website URL directly into your browser
  • ✓Be cautious of urgency and secrecy: Requests demanding immediate action or asking you to keep something secret are common phishing tactics

8. Responsible Disclosure

Veridex welcomes good-faith security research. If you believe you have discovered a vulnerability in Veridex, we encourage you to report it so we can investigate and address it.

How to Report a Vulnerability

Send your report to support@veridexhq.com. Please use a clear subject line indicating it is a security report.

We review all reports and will acknowledge receipt. Due to limited resources, we cannot commit to specific response timelines, but we take all reports seriously and will investigate promptly.

What to Include in Your Report

  • A clear description of the vulnerability and its potential impact
  • Steps to reproduce the issue, including any tools or configurations used
  • The affected component (extension, backend, website) and version if known
  • Any proof-of-concept code or screenshots that demonstrate the issue
  • Your contact information for follow-up questions

Good-Faith Expectations

We ask that security researchers act in good faith:

  • Do not access, modify, or exfiltrate data belonging to other users
  • Do not exploit vulnerabilities beyond what is necessary to demonstrate the issue
  • Do not perform actions that could degrade service availability for other users
  • Do not publicly disclose the vulnerability before we have had reasonable time to investigate and remediate
  • Do not include real user data in reports

What Researchers Can Expect

  • We will acknowledge receipt of your report
  • We will investigate the reported issue and keep you informed of significant developments when feasible
  • We may, at our discretion, publicly acknowledge researchers who report valid vulnerabilities (with your permission)
  • We do not currently offer monetary rewards or bug bounties

Safe Harbor

We consider good-faith security research conducted in accordance with this policy to be authorized. We will not pursue legal action against researchers who discover and report vulnerabilities responsibly, provided they adhere to the expectations outlined above, do not access or harm user data, and do not disrupt our services. If you are uncertain whether your research complies with this policy, please contact us at support@veridexhq.com before proceeding.

9. Reporting & Contact

Security Vulnerabilities

Report security vulnerabilities:

support@veridexhq.com

See Responsible Disclosure for guidelines.

General Support

For general questions and support:

support@veridexhq.com

For legal terms, see Terms of Service. For privacy details, see Privacy Policy.

Last Updated: October 12, 2026

← Back to Home