Vercel currency and source-coverage ledger — 2026-11-10

Scope and baseline

Public documentation review of the existing Vercel platform guide and Code Packs. No tenant settings were changed and no live-validation status is earned. This is a bounded currency pass, not an assertion that every Vercel service, Trust Center document, advisory, or automation surface has been exhaustively reviewed.

Baseline: guide 1.3.1, last updated 2026-09-25, 33 leveled controls; pack check reported 32/33 controls with packs (10.3 has a documented architecture-only verdict). Existing types: Terraform, API, CLI, SDK (BotID), and config. The parent validation run also found five pre-existing errors outside Vercel. Ownership remains Vercel Inc. → Vercel platform; the Terms body was fetched and identifies Vercel Inc.; no ownership change is asserted. New version is 1.4.0 with 35 controls. Guide-wide ai-validated is removed because changed instructions were not exercised live; unchanged dated marks in 5.1 and 7.2 describe historical surface tests only.

High-risk baseline claims included token scope/lifetime, OIDC TTL, deprecated sensitive-variable enforcement, Development secrets, SAML lifecycle, deployment policies, retention exclusions, plan gates, framework patch floors, and the distinction between legitimate framework traffic and exploit indicators.

Retrieval and source-first reconciliation

Checked 2026-11-10. Documentation bodies were retrieved using HTTPS GET of first-party .md twins, with canonical human-readable URLs below. HTML announcements/advisories were retrieved using HTTPS and readable text extraction; web retrieval was used as an independent fallback for Trust Center discovery. Content observations below, not HTTP status alone, support each disposition. These candidates were identified from security/access-control indexes, production checklist, project security settings, related feature references, and current changelog/advisory discovery before reconciliation with the guide.

Source-derived candidate / source Plane / conditions Observed behavior and disposition
Two-factor enforcement, personal 2FA Team / account / token owners Immediate team enforcement; personal-token owners need 2FA; integration-token exception; January 20, 2027 authenticator-app deadline includes passkey-only users. OMISSION → covered 1.6, CLI readiness check does not establish authenticator-app enrollment.
SAML Pro add-on / Enterprise, Owner Session attribute supports 1 hour–30 days with 24-hour default; editing configuration disables enforcement; SAML alone does not manage removals. CORRECTION → 1.1.
Directory Sync, RBAC roles Identity / team and project roles Provisioning distinct from authentication; role and project grants remain covered by 1.2/1.3. Reference path repaired. Detailed role matrix not independently tenant-tested.
Access tokens Account / team / project Three documented scope levels; project token cannot reach team/user/other-project resources. No universal 90-day maximum or universal default 2FA requirement established in current body. CORRECTION → 1.4, recommended rotation is labeled organizational policy.
Token scanning announcement Vendor-managed detection November 4 update describes Truffle reports, monthly Common Crawl scan, automatic revocation and email. UPDATE → 1.4; not a customer-configurable scanner.
OIDC Build / Function / local CLI Function tokens have two-hour TTL, not 60 minutes; cloud-provider exchanged credential lifetime is separate. CORRECTION → 1.4, platform/provider trust remains customer responsibility.
Deployment Protection, access control, pricing, Passport, source maps Deployment edge / plan-specific methods Password and Vercel Authentication can coexist as alternatives, not cumulative authentication. CORRECTION → 2.1. Existing scopes/pricing, Passport, and source-map candidates retained in 2.1/2.4/2.5.
Project security settings Project Fork protection under Security; source/build logs always team-protected; Support Code Visibility disabled by default. CORRECTION/OMISSION → 2.2.
Deployment Policies Pro/Enterprise Owner; team/project Independent Git Sources and Deployment Sources, per environment, inherited defaults and overrides, saved versus enforced state. OMISSION → 2.2 replaces unverified Create Deployments/Require Verified Commits UI instructions. Per-project policy automation coverage remains a gap where packs only audit adjacent project fields.
Rolling Releases Deployment rollout Staged rollout and deployment-protection boundaries remain covered by 2.3; no live rollout exercised.
WAF, Bot Management, BotID Edge / application integration Managed/custom rule controls and bot defenses mapped to 3.1–3.5; application BotID integration still requires customer testing. No claim that a native config sample alone enforces all routes.
Secure Compute Enterprise network / Functions / builds Go joins Node/Python/Ruby support; Edge Runtime and Routing Middleware excluded; self-service creation unavailable on some teams. CORRECTION → 4.1.
Attack Mode, DDoS Firewall / all plans Current UI name Attack Mode; dashboard/CLI use 1/6/24-hour durations and auto-expiry. CORRECTION → 4.2; remove recommendation to trust spoofable User-Agent bypasses.
Encryption and TLS Platform TLS Current canonical reference repaired for 7.2; existing live-test mark is not renewed.
Config and Secret variables, environment variables Team/project, all environment targets Secrets now allowed in Development; legacy Sensitive maps to Secret; deprecated force-sensitive policy replaced by Require Separate Values; 32-character redaction floor remains. DEPRECATION/CORRECTION → 6.1 and Appendix C. Terraform separation policy remains L2 enhancement; L1 classification/manual credential separation retained.
Same variable reference, API/SDK/CLI sections Automation REST type: sensitive plus visibility: secret; CLI --type secret, deprecated --visibility; updated packs use documented supported surfaces rather than equating UI naming to schema removal.
Deployment Retention Team/project / all plans Build and Deployment location, 30-day Hobby/Pro defaults, active-branch and alias exemptions, asynchronous removal, age-dependent recovery. CORRECTION → 6.2; retention is not credential revocation.
Deploy Hooks, CLI deploy-hooks Deployment automation Two-stage consumer cutover before retiring old hook; current CLI syntax verified by pack worker. SAFETY CORRECTION → 6.3 pack, guide already describes correct sequence.
Next.js environment variables Client bundle Public values are inlined, so name-only bundle scans are heuristics, not proof of no leaked values. CORRECTION → 6.4; pack reports names rather than complete secret-bearing lines.
Drains, Audit Log, Activity Log Monitoring / Enterprise audit Audit export 90 days and current Drains surfaces retained in 8.1/8.2/8.4; team MFA change event added. Receiver bounds and safe test opt-ins reviewed in packs.
Security Review, CLI security, announcement Pro/Enterprise Public Beta / GitHub pushes Native enablement/project selection; diff-oriented coverage, source-snippet privacy and usage costs. NEW → 8.5, read CLI finding export, no automatic remediation or acceptance of AI severity.
November Next.js security release, support policy Framework dependencies November 3 floors 16.4.5/15.5.29 supersede July floors; Next15 extended maintenance ends January 31, 2027. UPDATE → 9.1; historical table is not a complete current advisory inventory.
Next.js security model Application / framework Server Actions are public endpoints requiring authorization. CORRECTION → 9.1: Next-Action/x-nextjs-data presence alone is not hostile; do not log/block all such requests as exploit precursors.
Node.js advisory Managed/external runtimes October 28 patched new deployments; redeploy existing projects; migrate Node20; outbound fetched Brotli not covered by inbound WAF. UPDATE → 9.1.
Security overview, shared responsibility, production checklist, compliance Platform/customer boundary Discovery indexes, not a complete baseline by themselves. Existing controls reconcile platform auth, deployment, secrets, network and monitoring. Separate AI Gateway, Sandbox, Workflow, Connect/eve administration is outside this existing deployment-platform guide pass; no complete coverage claimed for those products.

Trust Center discovery and access boundary

Discovery chain: Vercel compliance and shared responsibility link to security.vercel.com. Direct HTTPS retrieval timed out during TLS negotiation; web retrieval returned readable public catalog content on this run. The portal is a discovery source, not a hardening_docs target.

Reviewed public catalog headings: Documents (All/Public/Private labels), Reports, Product Security, Data Security, App Security, Access Control, Network Security, Infrastructure, Policies, and Trust Center Updates. Followed the exposed Documents, Reports, Product Security, Policies and Security Whitepaper links. Those links returned the same catalog text through the retrieval surface rather than distinct document bodies. The catalog exposes “Get access” and “View all documents”; filtered/paginated completeness was not established. Four numbered pages visible under updates were not represented as an exhaustively retrieved document catalog. No guessed private URLs, access requests, NDA acceptance, or bulk downloads were used.

Candidate Access / content / applicability result
Responsibility Matrix, named by the public compliance/shared-responsibility docs Discovered + content unverified. Actual matrix body/version and commercial/adjacent-edition applicability unavailable in this pass. Not used to invent controls.
Security Whitepaper, Other Reports and Documents, Architecture/Network Diagram Discovered + body unverified. Potential customer configuration guidance cannot be accepted or excluded solely by title. Followed catalog links did not deliver document content.
SOC2/SOC3, HIPAA, PCI DSS, ISO certificates and policy listings Catalog metadata observed; document bodies unverified. Assurance listings do not originate customer settings. No assertion that all are inaccessible or that no useful hardening content exists.
October Node.js/PHP/eMudhra advisory update Public update readable. Followed Node.js bulletin and applied the managed-runtime redeploy requirement. PHP and customer-managed certificate/container baseline applicability are retained as adjacent runtime research gaps, not copied into Vercel deployment settings.
Government / regulated / adjacent edition baseline Site-restricted discovery for Vercel government hardening and responsibility matrix led to commercial compliance/shared-responsibility pages, not a verified government secure-configuration document. Not found in this bounded search; not verified absent. No government configuration transplanted.

Additional boundaries and unresolved research

Automation census and verification handoff

The pack review fetched the official Terraform provider tree for resource/data-source discovery, team configuration schema, REST team GET/update references, first-party CLI index and deploy-hooks/env/security references, official SDK overview, BotID setup, native project configuration, and Drains security. Provider disjunctive_production_secret_policy and REST disjunctiveProductionSecretPolicy support the replacement policy; fetched team schemas did not establish an MFA enforcement setter. CLI members-no-mfa provides read evidence, not an enforcement API. GraphQL administration remains unverified, not proven absent. The official administrative SDK exists; no speculative new SDK pack was introduced. SIEM destination-specific queries remain unverified rather than fabricated.

New 8.5 CLI pagination is documented, but the fetched public CLI source did not yet contain the vulnerabilities command, and its response-body schema was not verified. The pack therefore saves bounded private snapshots without treating guessed object fields as authoritative or claiming a complete findings census. No live CLI execution is claimed.

Owned-file checks: guide has zero fenced code blocks, 35 Profile Level controls with required Description/Rationale/Why This Matters/Attack Prevented/ClickOps headings, consistent 1.4.0/2026-11-10 bookkeeping, and clean git diff --check. Parent owns final corpus lint, pack sync/wiring checks, Terraform validation, and offline pack tests. Historical marks remain only on unchanged 5.1/7.2 surfaces; this research earns no new maturity mark.

Six-surface automation census

Sources below were fetched by the pack worker during this run; document/schema verification is not live execution.

Surface Fetched source Status and scope Write / read decision
Terraform Official provider resource/data-source tree, team_config schema Available official provider; resources and data sources enumerated, including team/project/protection/rolling-release surfaces. Retain enforcement resources and available verification data sources; replace deprecated sensitive policy with disjunctive_production_secret_policy. Parent validated Vercel configuration against provider 5.26.1.
API Get a Team, Update a Team Documented REST read/write schemas support disjunctiveProductionSecretPolicy; fetched team schemas did not establish an MFA setter. GraphQL administration remains unverified. Retain documented project/team/drain audit and configuration packs. Do not invent MFA writes or infer a GraphQL absence from REST coverage.
CLI CLI index, deploy-hooks, env, security Official first-party CLI with administration and read checks. Security vulnerabilities pagination documented; response-body schema and public-source command availability unresolved. Correct deploy-hook write syntax and separate create/cutover/retire; preserve existing reads/writes. Add read-only 1.6 members-no-mfa and bounded private 8.5 finding snapshots without claiming complete coverage.
SDK Official SDK, BotID setup Official administrative SDK exists; existing BotID SDK pack is part of the baseline corpus. Retain the BotID application integration. Do not manufacture an administrative SDK pack without a separately verified operation and tested schema; read/write admin parity remains a coverage gap rather than absence.
Config Project configuration Vendor-native configuration is available for supported project/application settings, not every security control. Retain supported security-header and configuration checks; name-only bundle scans remain heuristics. Do not represent configuration examples as universal enforcement of unrelated dashboard controls.
SIEM Drains security Documented raw-body HMAC-SHA1 delivery verification and constant-time comparison; destination-specific detection/query schemas were not verified. Retain drain delivery configuration, read audits and bounded signature-verification receiver. No speculative new SIEM query pack; downstream destination detections remain a documented research gap.