Skip to content
Security Documentation

Security Pack

Everything your security team needs to evaluate ApexMediation: architecture, threat model, compliance, and data handling.

Printable Security Pack (HTML)

What's Included

The Security Pack is a comprehensive document covering all aspects of our security posture.

Infrastructure Architecture

Two-server topology (App + DB), Caddy TLS termination, Redis caching, PostgreSQL 16 persistence, network isolation.

Encryption Standards

TLS via Caddy (Let's Encrypt auto-provisioning), AES-256-GCM for secrets at rest with 12-byte IV and auth tags.

Access Control (RBAC)

Three-tier customer roles (admin, publisher, readonly) with separate operator authentication for system access.

Audit Logging

Structured logging via Winston, separate audit stream for compliance, configurable retention (30 days–1 year by plan).

Threat Model

Defense-in-depth: cache controls, circuit breakers, dedupe layers, Ed25519-signed auction logs, replay protection.

Privacy & Compliance

GDPR/CCPA-aligned data handling, consent signal propagation, DSAR workflow, data minimization principles.

Threat Model Overview

Key threats we've identified and the controls in place.

Cache Poisoning

mitigated

Session manifests use Cache-Control: private, no-store. CDN keys include session token hash.

Token Leakage

mitigated

JWT tokens with configurable expiry. Short-lived BYO tokens (5-15 min). httpOnly cookies.

SSRF Attacks

mitigated

Outbound requests constrained to configured partner domains. CORS allowlist enforced.

Replay Attacks

mitigated

Composite dedupe keys (session, pod, slot, event, creative). DedupeLayer rejects duplicates.

Config Rollback Abuse

mitigated

All config changes versioned with timestamps. Rollback creates new version, preserving history.

Partner Timeout Abuse

mitigated

Per-partner circuit breakers with configurable thresholds. Automatic quarantine on trip.

Auction Tampering

mitigated

Ed25519 signatures on auction logs. Public key available for independent verification.

Credential Exposure

mitigated

Network credentials never exposed to SDKs. Short-lived JWT tokens generated on demand.

Data Processing Summary

What data we process, how long we keep it, and how to delete it.

CategoryData CollectedRetentionDeletion
Session DataDevice type, app bundle ID, content ID, consent signals (TC string if provided)30 days–1 year (by plan)Automatic TTL expiry + on-demand DSAR
Auction LogsBid requests/responses, decision traces, timing metrics, Ed25519 signatures30 days–1 year (by plan)Automatic partition pruning + on-demand DSAR
Tracking EventsImpressions, quartiles, completions, click events (no direct PII)30 days–1 year (by plan)Automatic expiry + on-demand DSAR
Console UsersEmail, display name, role, 2FA status, audit trailAccount lifetime + 30 daysOn account deletion request
API KeysKey prefix, last4 digits, bcrypt hash (never full secret)Until revocationSoft delete with audit retention

Data Subject Access Request (DSAR) Workflow

# DSAR Process Flow
┌─────────────────────────────────────────────────────────────────┐
│                     DSAR Request Handling                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  1. Request Received                                             │
│     └─▶ Email: privacy@apexmediation.ee                         │
│     └─▶ Console: Settings → Privacy → Submit DSAR               │
│                                                                  │
│  2. Identity Verification (within 48 hours)                      │
│     └─▶ Verify requester is data subject or authorized agent    │
│                                                                  │
│  3. Data Compilation (within 15 days)                           │
│     └─▶ Export all personal data in structured format           │
│     └─▶ Include processing purposes and recipients              │
│                                                                  │
│  4. Delivery (within 30 days of request)                        │
│     └─▶ Secure download link or encrypted email                 │
│     └─▶ Deletion confirmation if requested                      │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Compliance Status

GDPR

Aligned

CCPA

Aligned

IAB TCF 2.2

Consent Propagation

SOC 2

Type II-aligned controls

Operational targets

Availability
99.9%
Decision latency (p95)
<200ms
Failover target
<30s

See full details at /slo.

Questions? Let's talk security.

Our team is available to discuss security requirements, conduct walkthroughs, and answer procurement questions.