Security
How Veridex protects your data and provides transparent, privacy-first phishing risk analysis.
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
Analysis Flow
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
evalof 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.comSee Responsible Disclosure for guidelines.
For legal terms, see Terms of Service. For privacy details, see Privacy Policy.
Last Updated: October 12, 2026