How patmmccann/sharedid-edge works
SharedID Edge is an edge worker that makes Prebid SharedID durable with first-party cookies and can return additional edge-derived signals. A browser’s Prebid.js sync request reaches a platform adapter, which invokes the shared core request handler; the handler processes consent and identity, runs configured modules, and returns a response with cookies and signals. The README documents eight deployment targets and several built-in and vendor modules. Some subsystem links below reflect that documentation; unsampled implementation details are not inferred.
Main entry points: src/handler.ts Request handler · modules.ts Module runner · vendor-modules Vendor modules · src/handler.ts Akamai adapter
Components 25
Request adapters
- Akamai adapter
packages/adapters/akamai/src/handler.ts - AWS Lambda adapter
packages/adapters/aws-lambda/src/handler.ts - Azure Functions adapter
packages/adapters/azure-functions/src/handler.ts - Cloudflare adapter
packages/adapters/cloudflare/src/worker.ts - Fastly adapter
packages/adapters/fastly/src/main.ts - GCP Functions adapter
packages/adapters/gcp-functions/src/handler.ts - Node adapter
packages/adapters/node/src/index.ts - Vercel adapter
packages/adapters/vercel/src/handler.ts
Shared core
- Request handler
packages/core/src/handler.ts - Configuration
packages/core/src/config.ts - Consent and TCF
packages/core/src/consent.ts - Module runner
packages/core/src/modules.ts - Traffic signals
packages/core/src/traffic.ts
Signal modules
- Bot signals
packages/modules/bot/src/index.ts - Click ID retention
packages/modules/clickid/src/index.ts - Geolocation
packages/modules/geo/src/index.ts - Client IP
packages/modules/ip/src/index.ts - Cookie reflection
packages/modules/reflect/src/index.ts - Device and UA data
packages/modules/ua/src/module.ts - Vendor modules
packages/vendor-modules - Edge Cookies module
packages/vendor-modules/ec/src/index.ts
IP data
- IP range utilities
packages/ip-ranges/src - DB-IP data
packages/vendor-modules/dbip/src/index.ts - MaxMind data
packages/vendor-modules/maxmind/src/index.ts
Other components
- Browser / Prebid.js
Connections 30
- Browser / Prebid.js → Akamai adapter: syncs through
README.md - Browser / Prebid.js → AWS Lambda adapter: syncs through
README.md - Browser / Prebid.js → Azure Functions adapter: syncs through
README.md - Browser / Prebid.js → Cloudflare adapter: syncs through
README.md - Browser / Prebid.js → Fastly adapter: syncs through
README.md - Browser / Prebid.js → GCP Functions adapter: syncs through
README.md - Browser / Prebid.js → Node adapter: syncs through
README.md - Browser / Prebid.js → Vercel adapter: syncs through
README.md - Akamai adapter → Request handler: invokes
packages/adapters/akamai/src/handler.ts - AWS Lambda adapter → Request handler: invokes
packages/adapters/aws-lambda/src/handler.ts - Azure Functions adapter → Request handler: invokes
packages/adapters/azure-functions/src/handler.ts - Cloudflare adapter → Request handler: dispatches to
packages/adapters/cloudflare/src/worker.ts - Fastly adapter → Request handler: dispatches to
packages/adapters/fastly/src/main.ts - GCP Functions adapter → Request handler: invokes
- Vercel adapter → Request handler: invokes
packages/adapters/vercel/src/handler.ts - Request handler → Module runner: runs modules
packages/core/src/handler.ts - Request handler → Consent and TCF: uses consent
packages/core/src/handler.ts - Request handler → Configuration: reads settings
packages/core/src/handler.ts - Request handler → Traffic signals: merges traffic
packages/core/src/handler.ts - Module runner → Traffic signals: reports signals
packages/core/src/modules.ts - Module runner → Bot signals: can run
README.md - Module runner → Click ID retention: can run
README.md - Module runner → Geolocation: can run
README.md - Module runner → Client IP: can run
README.md - Module runner → Cookie reflection: can run
README.md - Module runner → Device and UA data: can run
README.md - Module runner → Vendor modules: can run
README.md - Vendor modules → Edge Cookies module: includes
README.md - Vendor modules → DB-IP data: includes
README.md - Vendor modules → MaxMind data: includes
README.md