Skip to content

Rolling main documentation

Built from commit 077b43bde250f7cb0ff0e0aba6f03959cbed4e25. Content may describe unreleased behavior.

Integrations and Runtime Support ​

Trusted Server combines an edge adapter, server-side integrations, auction providers, and browser modules. These layers are related but not interchangeable: a deploy ID may register a settings builder, an auction-plan component, or a mediator, while browser code can be bundled, deferred, or loaded by a separate tag.

Adapter support ​

AdapterRelease statusHealthStartup statusStartup healthProvider fan-outTrusted-client-IP handlingRequest normalization
axumdevelopmentreal500nomultipleoutermost sanitizenone
cloudflaredevelopmentabsent500nosingleoutermost sanitizenone
fastlyproductionpre router500yesmultipleentry-point resolve + sanitizenone
spinexperimentalreal503yessingleoutermost sanitizeinnermost Spin-header derivation

This table summarizes the adapter implementations. “Startup health” means the degraded startup router still serves /health; it does not mean configuration loaded. “Provider fan-out” describes whether the adapter can dispatch one auction to multiple configured providers. See the individual Fastly, Axum, Cloudflare, and Spin deployment guides for their operational procedures.

Integration inventory ​

IntegrationOperational statusDeploy IDRegistrationBrowser loading
adserver_mockdevelopmentyesauction mediatornone
apsdevelopmentyesauction plannone
creativedevelopmentnobrowser capabilitybundled
datadomedevelopmentyessettings builderbundled
didomiproductionyessettings builderbundled
google_tag_managerproductionyessettings builderbundled
gptproductionyessettings builderbundled
gpt_diagnosticsdevelopmentyessettings builderstandalone
js_asset_proxy (no dedicated guide)developmentyessettings buildernone
lockrproductionyessettings builderbundled
nextjsproductionyessettings buildernone
osanodevelopmentyessettings builderbundled
permutiveproductionyessettings builderbundled
prebidproductionyesauction plandeferred
sourcepointdevelopmentyessettings builderbundled
testlightdevelopmentyessettings builderbundled

The inventory summarizes compiled registration sets and reviewed maturity records. A deploy ID means the deployment validator accepts that identifier; it does not imply that every adapter implements the same runtime capability. creative is a browser capability, not a deploy ID.

Browser loading has three distinct modes:

  • bundled modules execute from the immediate unified tsjs bundle.
  • deferred modules are fetched after that bundle; Prebid uses this mode.
  • standalone modules use a dedicated tag decision and are not part of the unified bundle; GPT diagnostics uses this mode.
  • none means the capability has no integration browser module.

See Trusted Server JavaScript for the exact 12-module, 13-bundle model and API Reference for route families and adapter availability.

How capabilities compose ​

Enabled integrations share ordered request, HTML, and browser pipelines. They are not guaranteed to be independent. Registration predicates determine which proxy routes, attribute or script rewriters, head injectors, request filters, post-processors, auction providers, and browser modules are active. Validate the complete configuration and test the resulting page rather than assuming that any arbitrary combination is conflict-free.

Configuration is loaded when the process starts. Change it through the EdgeZero configuration lifecycle, then restart or deploy the adapter as required. Exact fields and defaults live in the Configuration Reference.

Adding an integration ​

Use the Integration Guide for the runtime-neutral extension path and a compiling RuntimeServices fixture. Add only the hooks a capability needs; do not create a catch-all proxy or assume an adapter-specific HTTP implementation in core code.

Released under the Apache License 2.0.