๐Ÿ›ก๏ธ Trust Center

Transparency about how ThreatMeld protects your data โ€” what we run, where it lives, who processes it, and what we've validated.

๐Ÿ”’ Enterprise Security Standards Encryption at rest and in transit, RBAC, and continuous security monitoring

Last updated: April 19, 2026 ยท v0.10.2

๐Ÿ—๏ธ Architecture Overview

ThreatMeld runs entirely on Microsoft Azure (East US 2 region) with Cloudflare providing edge security. Here's what's actually deployed:

Authentication

WorkOS AuthKit โ€” OAuth 2.0 with PKCE; RS256 JWT tokens validated via JWKS. HttpOnly session cookies with 2-hour idle timeout and proactive token refresh. SCIM 2.0 provisioning. Token blacklist on logout; refresh endpoint checks blacklist before issuing new tokens (AUTH-02/03 remediated).

โ— Active

API & Backend

Azure Functions (Python/FastAPI) โ€” API layer with persistent rate limiting (Cosmos DB-backed), security headers (HSTS, CSP, X-Frame-Options), and 10 MB request size limit.

โ— Active

Background Processing

Azure Functions โ€” Timer-triggered fetcher orchestrator (hourly) ingests advisories from 48 vendor fetchers. Service Bus topics pipeline enrichment โ†’ matching โ†’ notifications.

โ— Active

Database

Azure Cosmos DB (NoSQL, serverless) โ€” encrypted at rest (AES-256) and in transit. Session consistency. Partition-key-based tenant isolation. Continuous 7-day point-in-time recovery (PITR). Retry with exponential backoff.

โ— Active

Frontend

Azure Static Web Apps โ€” React/TypeScript SPA. No server-side rendering, no customer data in the hosting layer.

โ— Active

Messaging & Queues

Azure Service Bus โ€” topic/subscription model for advisory pipeline stages (raw โ†’ enriched โ†’ matched โ†’ notifications). 24-hour message TTL.

โ— Active

Security Monitoring

Microsoft Sentinel โ€” SIEM for centralized security event monitoring, threat detection, and audit logging across the Azure environment.

โ— Active

๐Ÿ”’ Security Controls

Encryption in Transit

TLS 1.3 enforced across all endpoints (TLS_AES_256_GCM_SHA384 / X25519). ECDSA certificates via Cloudflare. HSTS preload enabled. No legacy cipher suites.

โ— Verified

Encryption at Rest

Azure Cosmos DB uses AES-256 encryption at rest (Microsoft-managed keys). All application secrets stored in Azure Key Vault โ€” zero hardcoded secrets in source code.

โ— Enforced

Edge Security

Cloudflare provides DNS, CDN, DDoS protection, WAF, and TLS termination. Full (Strict) SSL mode with mTLS origin verification.

โ— Enforced

Secret Management

Azure Key Vault for all application secrets. Authentication tokens and keys managed by Entra. Application data in Cosmos DB. No secrets in source code, environment variables sourced from Key Vault references.

โ— Enforced

Input Sanitization

Comprehensive 431-line defense-in-depth sanitizer: 20+ regex-based prompt injection detectors, HTML tag stripping, invisible Unicode removal, shell metacharacter filtering, SQL fragment detection, and HTML entity encoding. Advisory content redaction for supply-chain poisoning defense.

โ— Active

RBAC

Seven-role model: Owner, BillingAdmin, AdvisoriesAdmin, SecOpsAdmin, SecOps, ReadOnlySecOps, Member. Least-privilege by default โ€” ReadOnlySecOps and Member are read-only; SecOps uses write_own ownership scoping (enforced in #713). Plan-based limits enforced per tier (Free โ†’ Team).

โ— Active

Email Security

Azure Communication Services (ACS) for transactional email. HMAC-SHA256 authentication. SPF, DKIM, and DMARC (reject policy) configured. Bounce/unsubscribe suppression list.

โ— Active

API Security

Persistent rate limiting backed by Cosmos DB (survives restarts), request size limits, CORS allowlisting, security headers middleware. Stripe webhook signature verification is mandatory (no bypass possible).

โ— Active

CI/CD Security Scanning

Automated security scanning on every pull request and push to main: pip-audit (Python CVE detection), npm audit (JavaScript dependency scanning), Semgrep SAST (static analysis), and CodeQL (GitHub's semantic code analysis for Python + JavaScript/TypeScript; runs as a separate workflow on every PR and weekly). Build fails on high/critical findings. GitHub Dependabot handles dependency patch PRs.

โ— Active

๐ŸŒ Data Sovereignty

Where Your Data Lives

All customer data is stored within Microsoft Azure's East US 2 region (Virginia, United States):

Credential Storage Architecture

Credentials and sensitive data follow strict separation of concerns:

Data Residency Guarantees

Data Classification

Data TypeClassificationStorage LocationRetention
User credentials (passwords, MFA)ConfidentialWorkOS AuthKit (separate tenant)Per Entra retention policy
User profiles (email, role, tenant)ConfidentialCosmos DB (East US 2)Account lifetime + 30 days
Tenant configurationsInternalCosmos DB (East US 2)Account lifetime + 30 days
Product subscriptions & triageInternalCosmos DB (East US 2)Account lifetime + 90 days
Advisory data (CVEs, bulletins)PublicCosmos DB (East US 2)Indefinite
Billing recordsConfidentialStripe (US) + Cosmos DBPer legal requirements
Application logsInternalLog Analytics (East US 2)90 days
Security eventsInternalMicrosoft Sentinel (East US 2)Per retention policy
Session tokens (JWT)ConfidentialClient-side only (not stored server-side)1 hour TTL

๐Ÿงช Testing & Security Audits

Validated through automated testing, CI/CD security scanning, and independent adversarial audit:

Infrastructure as Code

All Azure infrastructure is defined in Bicep IaC templates โ€” Cosmos DB, Key Vault, Functions (API + Background), Service Bus, Static Web Apps, and Application Insights. No manual Azure portal configuration.

๐Ÿ“ก Reliability & Data Freshness

Security intelligence that is hours stale is worse than useless โ€” it creates a false sense of coverage. v0.10.1 introduced a multi-layer reliability pattern to ensure enrichment failures surface within an hour, not days.

Enrichment pipeline observability

What we track

SourcePurposeTarget freshness
CISA KEVActive exploitation signal< 24 hours from CISA publish
FIRST.org EPSSExploit probability scoring< 24 hours from daily EPSS publish
VulnCheck KEVSecondary exploitation signal (when API key configured)< 24 hours
Vendor advisoriesPrimary CVE feed (48 fetchers)Hourly sweep from vendor feeds

Data freshness is best-effort against upstream source availability. If a vendor feed is down, our status endpoint surfaces that โ€” we do not fall back to stale data silently.

๐Ÿ›ก๏ธ Live Security Scan Results

Every deployment to production passes through 9 automated security checks (8 CI-gated + 1 periodic independent adversarial pentest). These results update with each successful release โ€” what you see below reflects exactly what is running in production right now.

Loading scan results...

How this works: Our CI/CD pipeline runs all security checks on every code change. If any check fails, the deployment is blocked โ€” code never reaches production with known vulnerabilities. This page auto-updates only on successful deployments, so these results always match what's live. View our CI/CD pipeline โ†’

๐Ÿ’ณ Billing & Payments

Stripe handles all payment processing. ThreatMeld never sees, stores, or processes payment card numbers.

๐Ÿข Data Processors & Subprocessors

Third-party services that process data on behalf of ThreatMeld. All are contractually bound to data protection obligations.

Infrastructure Processors

ProcessorPurposeData ProcessedLocation
Microsoft Azure Primary cloud โ€” Cosmos DB, Functions, Service Bus, Key Vault, Static Web Apps, Log Analytics, Sentinel All application data East US 2 (Virginia, US)
WorkOS AuthKit Identity provider โ€” user authentication, CIAM tenant, SCIM provisioning User email, display name, authentication state United States
Cloudflare DNS, CDN, DDoS protection, WAF, TLS termination HTTP request metadata, static asset caching. No customer data stored at edge. Global edge network
GitHub Source code hosting, CI/CD (GitHub Actions), dependency scanning (Dependabot), security scanning (Semgrep SAST) Application source code only โ€” no customer data United States

Application Processors

ProcessorPurposeData ProcessedLocation
Stripe Payment processing, subscription management, billing portal Payment card details (PCI DSS Level 1 โ€” ThreatMeld never sees card numbers), billing email, plan selections United States
Azure Communication Services Transactional email delivery (alerts, invitations) Recipient email address, email content United States
Anthropic AI-powered remediation guidance generation Advisory content (public CVE data) sent for analysis. No customer-specific data is sent to Anthropic. Input is sanitized to strip any embedded PII and prompt injection attempts. United States

Data Source Providers (Not Processors)

Public data sources that ThreatMeld ingests. No customer data flows to these sources โ€” we only read from them.

SourcePurposeData Flow
NIST NVDCVE vulnerability databaseInbound only
CISA KEVKnown Exploited Vulnerabilities catalogInbound only
FIRST.org EPSSExploit Prediction ScoringInbound only
Vendor RSS/CSAF feedsSecurity advisories from 48 vendors (Cisco, Palo Alto, Fortinet, Microsoft, Juniper, Sophos, etc.)Inbound only

๐Ÿšซ What We Don't Do

๐Ÿ“‹ Compliance Status

ControlStatusNotes
Security Best Practicesโ— ImplementedEncryption, RBAC, continuous monitoring, CI/CD security scanning
TLS 1.3 / ECDSA-onlyโ— VerifiedEnforced at Cloudflare edge
HSTS Preloadโ— Completemax-age=31536000; includeSubDomains
Cloudflare Full (Strict) + mTLSโ— CompleteOrigin certificate verification
SPF / DKIM / DMARC (reject)โ— CompleteAll email domains
Input Sanitizationโ— Complete431-line sanitizer, 20+ detectors
Secret Management (Key Vault)โ— CompleteZero hardcoded secrets
CI/CD Security Scanningโ— Completepip-audit, npm audit, Semgrep SAST
RBAC (6-role model)โ— CompleteLeast-privilege by default
Infrastructure as Codeโ— CompleteBicep IaC, no manual config
Automated Testing (2,182 tests)โ— CompleteCI/CD on every commit
Cosmos DB PITRโ— CompleteContinuous 7-day point-in-time recovery
Security Monitoring (Sentinel)โ— CompleteSIEM for threat detection & audit
Zero First-Party Cookiesโ— CompleteMSAL via localStorage, no tracking
Penetration Testing (first engagement)โ— CompleteShannon AI adversarial audit, April 14, 2026 โ€” 17 Critical/High/Medium findings, all remediated + verified. Ongoing: quarterly cadence.
GDPR Data Processing Agreementโ— In ProgressTarget: 2026 Q3

๐Ÿšจ Incident Response

In the event of a security incident affecting customer data:

Report a Vulnerability

If you discover a security vulnerability in ThreatMeld, please report it to [email protected]. We commit to acknowledging reports within 24 hours and providing an initial assessment within 72 hours.

๐Ÿ“ฌ Contact

For questions about data handling, privacy, or compliance:

ThreatMeld is operated by RedEye AI Labs
Phoenix, AZ, United States