Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
dbc1a2a
Add the integration provider seam design spec
jwrosewell Aug 27, 2026
12ad16c
Revise the integration seam spec to carry identity, geo and device as…
jwrosewell Aug 28, 2026
216596a
Record what implementing the integration seam found
jwrosewell Aug 28, 2026
62a01b6
Move the provider series design specs ahead of their implementation
jwrosewell Aug 30, 2026
4ee2ab1
Carve evidence interfaces out of the trait minimalism rule
jwrosewell Aug 30, 2026
a8bf675
Say create rather than mint throughout the provider specs
jwrosewell Aug 30, 2026
26f6954
Remove the reserved 51Degrees provider code row and apply spec house-…
jwrosewell Aug 31, 2026
115a88c
Finish the clause-punctuation sweep on the permission model spec
jwrosewell Aug 31, 2026
580081a
Finish the clause-punctuation sweep on the response-header-hook spec
jwrosewell Aug 31, 2026
47ef741
Restatus the unmerged provider specs and correct the seam spec counts
jwrosewell Aug 31, 2026
369dd23
Answer the PR #1084 review findings in the series specs
jwrosewell Sep 1, 2026
6718cbf
Qualify the completeness claim against the browser-side APS coupling
jwrosewell Sep 1, 2026
5386424
Format the provider specs for the docs Prettier gate and correct two …
jwrosewell Sep 1, 2026
fa1df47
Cite RFC 6454 for the resolve endpoint's origin comparison
jwrosewell Sep 1, 2026
48e6ade
Record the chosen page carrier for resolved permissions
jwrosewell Sep 1, 2026
60c9214
Replace an en dash in a section range with plain words
jwrosewell Sep 1, 2026
bb4f0f7
Align the provider specs with how permissions reach filters, provider…
jwrosewell Sep 1, 2026
760e49a
Record the permission rules tree in the design specs
jwrosewell Sep 1, 2026
52ab79f
Match the spec's jurisdiction values to the policy parser
jwrosewell Sep 1, 2026
5b27ceb
Record per-node jurisdiction and the retirement of the consent lists
jwrosewell Sep 1, 2026
742bb3f
Record the unknown jurisdiction on a failed geo lookup
jwrosewell Sep 1, 2026
fb7cf3e
Say precisely that geo is a provider and give migrated vendor crates …
jwrosewell Sep 1, 2026
687ea90
Record the transport evidence types as EdgeZero migration candidates
jwrosewell Sep 2, 2026
3f9bf12
Point the specs at the config/permissions sample location
jwrosewell Sep 2, 2026
c9dfe75
Restate signal precedence as the configured order
jwrosewell Sep 14, 2026
d6807ec
Say what the shipped opt-out revoke set lists
jwrosewell Sep 14, 2026
ed7c121
Follow the permissions sample rename in the specs
jwrosewell Sep 14, 2026
46dfab7
Follow main's compiled auction plan in the seam spec
jwrosewell Sep 15, 2026
4d0f3bf
Follow the one provider configuration convention in the series specs
jwrosewell Sep 15, 2026
ae60466
Join two decision rows in the seam spec with words rather than marks
jwrosewell Sep 15, 2026
3aea007
Merge main into the integration seam spec
jwrosewell Sep 25, 2026
829d804
Merge remote-tracking branch 'upstream/main' into refresh/split-6
jwrosewell Oct 6, 2026
6b9fd1a
Add the module name, build-time discovery and page changes as middleware
jwrosewell Oct 6, 2026
fbcef74
The specs say module where an operator selects a capability
jwrosewell Oct 6, 2026
c973181
The design names a module by its crate folder and selects page integr…
jwrosewell Oct 7, 2026
52d5f12
The specs select the auction's tables with modules and module
jwrosewell Oct 7, 2026
a098a8e
The seam design reads the type sections where section 3 read [integra…
jwrosewell Oct 7, 2026
8936d94
The specs name an implementation by its module path
jwrosewell Oct 7, 2026
3f6dc48
The seam design has a registration name the modules it supplies
jwrosewell Oct 7, 2026
367bc9e
The seam design records that a vendor crate cannot declare a secret s…
jwrosewell Oct 7, 2026
ce3ca0e
The seam design says a deployment hands its builders to the settings …
jwrosewell Oct 7, 2026
27c2913
The seam design records that a device module is asked on Fastly alone
jwrosewell Oct 7, 2026
de6c94d
The seam design says the probe supplies a demand source and an ad server
jwrosewell Oct 7, 2026
d2702cf
The seam design says the Fastly adapter takes a vendor crate through …
jwrosewell Oct 7, 2026
ac38955
Merge upstream main 182fdf4 into split/6-integration-seam
jwrosewell Oct 8, 2026
e573d10
The seam design says where the modules went and what moving them needed
jwrosewell Oct 8, 2026
ce848d6
One design document for each of the stack's pull requests
jwrosewell Oct 12, 2026
e85c99c
Say what placing a middleware means, and say it in plain words for ro…
jwrosewell Oct 12, 2026
a84de81
The cookie constant came from the stack's own earlier pull request, n…
jwrosewell Oct 12, 2026
9b4ed05
The cookie constant corrects a prior pull request of the stack
jwrosewell Oct 12, 2026
fe8edca
The device signals design says the score is written and read by nothi…
jwrosewell Oct 12, 2026
3c43876
Merge main into split/6-integration-seam
Jamesr51d Oct 13, 2026
13db8ce
The request addressing, object storage origin and origin redirect des…
jwrosewell Oct 14, 2026
02ed3bb
Allow the hosts the stack's modules name in the URL host linter
jwrosewell Oct 14, 2026
5ee9e1a
Format the linter spec as the docs check expects
jwrosewell Oct 14, 2026
dfdf88c
The source modules design page
jwrosewell Oct 14, 2026
867e52c
The design documents of series 32 to 50 at their latest versions
jwrosewell Oct 15, 2026
630e2df
The middleware settings, Fastly names and cookies by path designs aft…
jwrosewell Oct 15, 2026
2c07e99
The pluggable providers design takes its round 1 review
jwrosewell Oct 15, 2026
242abc1
The permission model design takes its round 1 review
jwrosewell Oct 15, 2026
113225e
The client cycle resolve design takes its round 1 review
jwrosewell Oct 15, 2026
6205da4
The response header hook design takes its round 1 review
jwrosewell Oct 15, 2026
ac438b3
The module context design takes its round 1 review
jwrosewell Oct 15, 2026
165eadc
The inspection endpoints design takes its round 1 review
jwrosewell Oct 15, 2026
2cc4bef
The Fastly per-host selector design
jwrosewell Oct 15, 2026
b5eff24
The integration provider seam design takes its round 1 review
jwrosewell Oct 15, 2026
b7486a9
The design documents of series 32 to 50 after their latest review rou…
jwrosewell Oct 15, 2026
e96eef9
The cookie constant design takes its round 1 review
jwrosewell Oct 15, 2026
a55cead
The Fastly per-host selector design takes its round 1 review
jwrosewell Oct 15, 2026
8a9dd12
The middleware media types design takes its round 1 review
jwrosewell Oct 15, 2026
b874821
The diagnostic headers design takes its round 1 review
jwrosewell Oct 15, 2026
39b6691
The cache declarations and geo module request designs after their rou…
jwrosewell Oct 16, 2026
a0dbb2f
The client cycle resolve design states the demo module's fix
jwrosewell Oct 16, 2026
f15d23c
The ads.txt sellers design takes its round 1 review
jwrosewell Oct 16, 2026
4a41689
The shared vendor tables design takes its round 1 review
jwrosewell Oct 16, 2026
6a46ef4
The design for a middleware that creates a missing file takes its rou…
jwrosewell Oct 16, 2026
6230efd
The consent prompt phases design takes its round 1 review
jwrosewell Oct 16, 2026
c197f45
The attestation design takes its round 1 review
jwrosewell Oct 16, 2026
c30e88a
The permission model design takes its round 2 review
jwrosewell Oct 16, 2026
518f62c
The client cycle resolve design takes its round 2 review
jwrosewell Oct 16, 2026
23ef99e
The pluggable providers design takes its round 2 review and states th…
jwrosewell Oct 16, 2026
3ae3b8a
The integration provider seam design takes its round 2 review
jwrosewell Oct 16, 2026
63580be
The Fastly per-host selector design takes its round 2 review
jwrosewell Oct 16, 2026
3788ea8
The administration design takes its round 1 review
jwrosewell Oct 16, 2026
c93a5c9
The config by host design takes its round 1 review
jwrosewell Oct 16, 2026
e6b1bca
The device signals design takes its round 1 review
jwrosewell Oct 16, 2026
4997c40
The response header hook design takes its round 2 review
jwrosewell Oct 16, 2026
f0c9235
The module context design takes its round 2 review
jwrosewell Oct 16, 2026
1270999
The loading cache design takes its round 1 review
jwrosewell Oct 16, 2026
5a63ec9
The page middleware design takes its round 1 review
jwrosewell Oct 16, 2026
a33d3f7
The InMobi choice module design takes its round 1 review
jwrosewell Oct 16, 2026
a8ca643
The robots.txt from modules design takes its round 1 review
jwrosewell Oct 16, 2026
2a16fe8
The middleware prepare design takes its round 1 review
jwrosewell Oct 16, 2026
8a9587e
The analytics module design takes its round 1 review
jwrosewell Oct 16, 2026
348336c
The robots.txt middleware design takes its round 1 review
jwrosewell Oct 16, 2026
3aab82c
The prefix module design takes its round 1 review
jwrosewell Oct 16, 2026
9ca22d3
The Google tag module design takes its round 1 review
jwrosewell Oct 16, 2026
e75b3d3
Install worker-build from its own lockfile
jwrosewell Oct 16, 2026
ef43586
The viewport sizes design takes its round 1 review
jwrosewell Oct 16, 2026
4053440
The inspection endpoints design takes its round 2 review
jwrosewell Oct 16, 2026
e94beb6
The cookie constant design takes its round 2 review
jwrosewell Oct 16, 2026
cabf6e9
The attestation design takes its round 2 review
jwrosewell Oct 16, 2026
ef591ca
The prefix module design takes its round 2 review
jwrosewell Oct 16, 2026
431b0aa
The Google tag module design takes its round 2 review
jwrosewell Oct 16, 2026
b1eca17
The viewport sizes design takes its round 2 review
jwrosewell Oct 16, 2026
4482347
The shared vendor tables design describes the two secret fixes and ta…
jwrosewell Oct 16, 2026
fd092db
Correct the acceptance and three clauses in the deployment headers spec
jwrosewell Oct 16, 2026
3b9cf06
The config by host design takes its round 2 review
jwrosewell Oct 16, 2026
d506ff0
The ads.txt sellers design takes its round 2 review
jwrosewell Oct 16, 2026
95e53c9
The missing file design takes its round 2 review
jwrosewell Oct 16, 2026
213ec22
The robots.txt from modules design takes its round 2 review
jwrosewell Oct 16, 2026
7732380
The loading cache design takes its round 2 review
jwrosewell Oct 16, 2026
efc0cf8
The cookie constant design describes the three fixes
jwrosewell Oct 16, 2026
6c5bf26
Add the settings and consumers design
jwrosewell Oct 16, 2026
a788825
The administration design takes its round 2 review
jwrosewell Oct 16, 2026
90281c1
The device signals design takes its round 2 review
jwrosewell Oct 16, 2026
1b50909
The settings and consumers design takes its round 1 review
jwrosewell Oct 16, 2026
d95c512
The settings and consumers design takes its round 2 review
jwrosewell Oct 16, 2026
71bdb98
The settings and consumers design takes its round 3 check
jwrosewell Oct 16, 2026
5e56ce8
The consent prompt phases design takes its round 2 review and describ…
jwrosewell Oct 16, 2026
5456bc0
The InMobi Choice design takes its round 2 review and describes the t…
jwrosewell Oct 16, 2026
9b511bc
The analytics module design takes its round 2 review and describes th…
jwrosewell Oct 16, 2026
af0039e
Merge upstream main fa9837f2b into split/6-integration-seam
jwrosewell Oct 16, 2026
d7211b0
The specs branch takes the asset cache and consent decoders designs a…
jwrosewell Oct 16, 2026
b623212
Merge upstream main 5bc388625 into split/6-integration-seam
jwrosewell Oct 16, 2026
52f3951
The page middleware design takes its round 2 review
jwrosewell Oct 16, 2026
0bba423
The media types design takes its round 2 review
jwrosewell Oct 16, 2026
817f041
The middleware prepare design takes its round 2 review
jwrosewell Oct 16, 2026
6952c1d
The robots.txt middleware design takes its round 2 review
jwrosewell Oct 16, 2026
74181a6
Design headers name the pull requests that carry them
jwrosewell Oct 16, 2026
174853e
The Google tag module design describes the six fixes
jwrosewell Oct 16, 2026
a5ea93f
The device signals design describes the five fixes
jwrosewell Oct 16, 2026
b9eeebc
The loading cache design describes the six fixes
jwrosewell Oct 16, 2026
8bc27f4
The robots.txt middleware design describes both of its fixes
jwrosewell Oct 17, 2026
409e844
The specs carry the design of ts config migrate
jwrosewell Oct 17, 2026
6a24039
The analytics module design names the telemetry support table and its…
jwrosewell Oct 18, 2026
96471e8
The administration design records its code review fixes and the opid_…
jwrosewell Oct 18, 2026
9c12b6c
The attestation design records its code fixes and the keys on Cloudfl…
jwrosewell Oct 18, 2026
e4dc867
The loading cache design says what Cloudflare and Spin keep
jwrosewell Oct 18, 2026
a01ecbb
The asset cache design says what Cloudflare and Spin keep between req…
jwrosewell Oct 18, 2026
0c22699
The robots.txt modules design says no adapter holds an answer before …
jwrosewell Oct 18, 2026
db22233
The robots.txt middleware design names the store each adapter opens
jwrosewell Oct 18, 2026
21ced62
The module cache design names the shared store on each adapter
jwrosewell Oct 18, 2026
e5a55f7
The request addressing design takes the HTTP/2 host fix
jwrosewell Oct 18, 2026
eed9b31
The backend naming design says what certificate_check does on each ad…
jwrosewell Oct 18, 2026
8ecb783
The specs carry the design of the request filters on every adapter
jwrosewell Oct 18, 2026
c460e8c
The specs carry the design of the Edge Cookie on every adapter
jwrosewell Oct 18, 2026
8b17eee
The specs carry the design of asset routes on every adapter
jwrosewell Oct 18, 2026
cb2d146
The Edge Cookie design states its decision as the design's own reasoning
jwrosewell Oct 18, 2026
07365cf
Merge upstream main a9037770a into split/6-integration-seam
jwrosewell Oct 18, 2026
e7e73c4
The designs end with their review logs
jwrosewell Oct 18, 2026
1ee10ab
The config migrate design takes review round 1
jwrosewell Oct 18, 2026
9b96efe
The request filters design answers its first review round
jwrosewell Oct 18, 2026
0af4174
The client hints design says every adapter runs its filter
jwrosewell Oct 18, 2026
ba6422e
The Edge Cookie design states what the identifier discloses and that …
jwrosewell Oct 18, 2026
dab7138
The asset routes design answers review round 1
jwrosewell Oct 18, 2026
e0b2bb7
The origin signing design says every adapter runs the asset route path
jwrosewell Oct 18, 2026
7be9589
The asset cache design says only the Fastly adapter applies an origin…
jwrosewell Oct 18, 2026
44165f6
The prefix module design records the code scanning fix
jwrosewell Oct 18, 2026
49fef62
The identifier modules design lists the test of the skipped EID log l…
jwrosewell Oct 18, 2026
3caf858
The config migrate design takes review round 2
jwrosewell Oct 18, 2026
9555b83
The geo module request design matches the branches
jwrosewell Oct 18, 2026
a02fa31
The request filters design answers its second review round
jwrosewell Oct 18, 2026
4359837
The client hints design logs its third review round
jwrosewell Oct 18, 2026
f9a6f2e
The RSC Flight middleware design matches its branch
jwrosewell Oct 18, 2026
b19f161
The cookies by path design matches its branch
jwrosewell Oct 18, 2026
b360926
The Fastly names design matches its branch
jwrosewell Oct 18, 2026
030970f
The last names design matches its branch
jwrosewell Oct 18, 2026
94b6879
The Edge Cookie design answers its second review round
jwrosewell Oct 18, 2026
cf1a240
The asset cache design no longer names a cache setting that does not …
jwrosewell Oct 18, 2026
893eacc
The asset routes design answers review round 2
jwrosewell Oct 18, 2026
8084ef0
The module cache design takes its four follow-ups out of the open que…
jwrosewell Oct 18, 2026
3d698e5
The asset cache design says a failed load is the answer
jwrosewell Oct 18, 2026
99f2af6
Merge upstream main 7791904ec into split/6-integration-seam
jwrosewell Oct 19, 2026
640963e
Merge upstream main 4b02cea21 into split/6-integration-seam
jwrosewell Oct 19, 2026
d19b6c0
Merge upstream main 6ef07ae52 into split/6-integration-seam
jwrosewell Oct 19, 2026
1126136
The origin redirect design follows the header rewrite in main
jwrosewell Oct 19, 2026
912fa09
Add the module scripts design
jwrosewell Oct 20, 2026
a854526
Bring the module scripts design up to date
jwrosewell Oct 20, 2026
89483d6
Merge upstream main 7aa5c993b into feature/6-integration-seam
jwrosewell Oct 28, 2026
8057df4
Module endpoints replace the attestation design
jwrosewell Oct 28, 2026
5adc307
Developer experience follows three journeys
jwrosewell Oct 28, 2026
d619bd4
Review logs record each round of these designs
jwrosewell Oct 28, 2026
0762b58
Stock builds link no cache, one crate holds modules
jwrosewell Oct 28, 2026
8ce9f74
Review logs record each round of the cache designs
jwrosewell Oct 28, 2026
1fce025
Four designs follow the cache module change
jwrosewell Oct 28, 2026
4fd5a47
Two cache designs say their code is built
jwrosewell Oct 28, 2026
f6f5247
Count the designs naming a type and vendor path
jwrosewell Oct 28, 2026
9037462
Three designs take one more review round
jwrosewell Oct 28, 2026
741f693
Four minor points from the confirmation round
jwrosewell Oct 28, 2026
65145ef
The scripts design's review log cites no unpublished commit
jwrosewell Oct 28, 2026
b4699bb
The designs' headers call no ready pull request a draft
jwrosewell Oct 28, 2026
693b8c4
The permission designs take the policy file chosen when a service is …
jwrosewell Oct 28, 2026
fb15798
Four wording points from the permission designs' third review
jwrosewell Oct 28, 2026
74e6c9f
Review logs record each round of the permission designs
jwrosewell Oct 28, 2026
9f9f886
Three review log entries say what each round read
jwrosewell Oct 28, 2026
616a51b
The config migrate design says only stored pages are fetched again
jwrosewell Oct 28, 2026
69a8a46
Four designs say what their rows hold
jwrosewell Oct 28, 2026
dfef068
The cache designs name the caching crate's release 4.5.13
jwrosewell Oct 28, 2026
dcb72ba
The designs carry the date they are proposed, 2026-10-27
jwrosewell Oct 28, 2026
85e6d81
The permission designs say a held policy is not read again
jwrosewell Oct 28, 2026
6d15cf1
The asset cache design says the vary table refuses its lifetimes
jwrosewell Oct 28, 2026
c075081
The designs take the review rounds of 27 and 28 October
jwrosewell Oct 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions crates/trusted-server-cli/src/commands/dev/lint/domains.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,25 @@ pub const EXACT_HOSTS: &[&str] = &[
"sdk.privacy-center.org",
// sourcepoint
"cdn.privacy-mgmt.com",
"cdn-eu.privacy-mgmt.com",
// lockr
"aim.loc.kr",
"identity.loc.kr",
// datadome
"js.datadome.co",
"api-js.datadome.co",
"api-fastly.datadome.co",
// aps / Amazon
"aax.amazon-adsystem.com",
"aax-events.amazon-adsystem.com",
"client.aps.amazon-adsystem.com",
"web.ads.aps.amazon-adsystem.com",
// permutive
"api.permutive.com",
"secure-signals.permutive.app",
"cdn.permutive.com",
"events.permutive.app",
"sync.permutive.com",
// Google Tag Manager / Analytics
"www.googletagmanager.com",
"www.google-analytics.com",
Expand All @@ -70,6 +76,13 @@ pub const EXACT_HOSTS: &[&str] = &[
"cdn.prebid.org",
// Fastly platform
"api.fastly.com",
// inmobi: the Choice consent prompt script and its CDN
"cmp.inmobi.com",
"cdn.inmobi.com",
// ad-tag.google: the AdSense loader
"pagead2.googlesyndication.com",
// permission-signal.mtm: the Model Terms document
"m4ow.uk",
];

/// Hosts where exact match AND any subdomain (`*.host`) is allowed.
Expand Down Expand Up @@ -116,6 +129,8 @@ pub const REFERENCE_HOSTS: &[&str] = &[
"rslstandard.org",
// Specs (other)
"webassembly.org",
// IETF RFCs
"www.rfc-editor.org",
// Fastly docs
"www.fastly.com",
"developer.fastly.com",
Expand All @@ -125,6 +140,8 @@ pub const REFERENCE_HOSTS: &[&str] = &[
// Vendor docs
"docs.datadome.co",
"docs.prebid.org",
"support.google.com",
"developers.google.com",
// Tooling docs
"vitepress.dev",
"playwright.dev",
Expand Down Expand Up @@ -1555,6 +1572,15 @@ fn path_is_scanned(rel_path: &str) -> bool {
{
return false;
}
// A module crate's own fixtures, the page its middleware is tested on
// and the page it records: exactly crates/<type>/<vendor>/src/fixtures/.
if components.len() > 5
&& components[0] == "crates"
&& components[3] == "src"
&& components[4] == "fixtures"
{
return false;
}

let basename = components.last().copied().unwrap_or("");
// Excluded lockfiles (exact basename). Name comparisons below are
Expand Down Expand Up @@ -2588,6 +2614,9 @@ mod path_is_scanned_tests {
"crates/integration-tests/fixtures/frameworks/nextjs/app/page.tsx",
"crates/integration-tests/fixtures/frameworks/nextjs/Dockerfile",
"crates/integration-tests/fixtures/frameworks/wordpress/Dockerfile",
"crates/cmp/inmobi/src/lib.rs",
"crates/cmp/inmobi/fixtures/page.html",
"crates/trusted-server-cli/src/fixtures/page.html",
"README.md",
"CHANGELOG.md",
"CONTRIBUTING.md",
Expand All @@ -2607,6 +2636,8 @@ mod path_is_scanned_tests {
for p in [
"crates/trusted-server-core/src/integrations/nextjs/fixtures/inlined-data-escaped.html",
"crates/trusted-server-core/src/integrations/google_tag_manager/fixtures/captured.html",
"crates/cmp/inmobi/src/fixtures/page-change.input.html",
"crates/testing/testlight/src/fixtures/page-change.settings.toml",
"node_modules/foo.js",
".worktrees/x/y.rs",
".claude/worktrees/x/y.rs",
Expand Down
41 changes: 27 additions & 14 deletions docs/superpowers/specs/2026-05-18-check-domains-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,19 +284,22 @@ a legitimate documentation source we link to repeatedly?"
Integration proxies and loopback. Subdomains are **not** allowed
(e.g., `anything.api.privacy-center.org` is disallowed).

| Category | Hosts |
| ---------------------------------------------------- | ------------------------------------------------------------------------------ |
| Loopback | `127.0.0.1`, `::1`, `localhost` |
| Integration proxies (didomi) | `api.privacy-center.org`, `sdk.privacy-center.org` |
| Integration proxies (sourcepoint) | `cdn.privacy-mgmt.com` |
| Integration proxies (lockr) | `aim.loc.kr`, `identity.loc.kr` |
| Integration proxies (datadome) | `js.datadome.co`, `api-js.datadome.co` |
| Integration proxies (aps / Amazon) | `aax.amazon-adsystem.com`, `aax-events.amazon-adsystem.com` |
| Integration proxies (permutive) | `api.permutive.com`, `secure-signals.permutive.app`, `cdn.permutive.com` |
| Integration proxies (Google Tag Manager / Analytics) | `www.googletagmanager.com`, `www.google-analytics.com`, `analytics.google.com` |
| Integration proxies (adserver mock) | `securepubads.g.doubleclick.net`, `origin-mocktioneer.cdintel.com` |
| Integration proxies (Prebid CDN) | `cdn.prebid.org` |
| Integration proxies (Fastly platform) | `api.fastly.com` |
| Category | Hosts |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Loopback | `127.0.0.1`, `::1`, `localhost` |
| Integration proxies (didomi) | `api.privacy-center.org`, `sdk.privacy-center.org` |
| Integration proxies (sourcepoint) | `cdn.privacy-mgmt.com`, `cdn-eu.privacy-mgmt.com` |
| Integration proxies (lockr) | `aim.loc.kr`, `identity.loc.kr` |
| Integration proxies (datadome) | `js.datadome.co`, `api-js.datadome.co`, `api-fastly.datadome.co` |
| Integration proxies (aps / Amazon) | `aax.amazon-adsystem.com`, `aax-events.amazon-adsystem.com`, `client.aps.amazon-adsystem.com`, `web.ads.aps.amazon-adsystem.com` |
| Integration proxies (permutive) | `api.permutive.com`, `secure-signals.permutive.app`, `cdn.permutive.com`, `events.permutive.app`, `sync.permutive.com` |
| Integration proxies (Google Tag Manager / Analytics) | `www.googletagmanager.com`, `www.google-analytics.com`, `analytics.google.com` |
| Integration proxies (adserver mock) | `securepubads.g.doubleclick.net`, `origin-mocktioneer.cdintel.com` |
| Integration proxies (Prebid CDN) | `cdn.prebid.org` |
| Integration proxies (Fastly platform) | `api.fastly.com` |
| Integration proxies (inmobi) | `cmp.inmobi.com`, `cdn.inmobi.com` |
| Integration proxies (Google ad tag) | `pagead2.googlesyndication.com` |
| Integration proxies (Model Terms signal) | `m4ow.uk` |

### Subdomain-permitting hosts (`SUBDOMAIN_HOSTS`)

Expand Down Expand Up @@ -335,9 +338,10 @@ suppress per-line.
| IAB Tech Lab | `iab.com`, `iabtechlab.com`, `iabtechlab.github.io`, `iabeurope.github.io` |
| Specs (supply chain) | `in-toto.io`, `rslstandard.org` |
| Specs (other) | `webassembly.org` |
| IETF RFCs | `www.rfc-editor.org` |
| Fastly docs | `www.fastly.com`, `developer.fastly.com`, `manage.fastly.com` |
| Cloudflare docs | `developers.cloudflare.com` |
| Vendor docs | `docs.datadome.co`, `docs.prebid.org` |
| Vendor docs | `docs.datadome.co`, `docs.prebid.org`, `support.google.com`, `developers.google.com` |
| Tooling docs | `vitepress.dev`, `playwright.dev`, `testcontainers.com`, `grafana.com`, `docsearch.algolia.com` |

One-off references not on this list (e.g., a single arxiv.org link in
Expand Down Expand Up @@ -562,6 +566,15 @@ fenced code blocks.
`crates/integration-tests/fixtures/frameworks/nextjs/app/*.tsx`,
which we deliberately scan).

- **A module crate's own fixtures**, `crates/<type>/<vendor>/src/fixtures/**`.
A module in a crate of its own under `crates/<type>/<vendor>/` (the layout
the seam design gives) keeps the page its middleware is tested on, and the
page it records, under `src/fixtures/`. Those pages carry the vendor's own
script hosts and other vendors' tags the test proves untouched, as the
publisher captures above do. The rule is the two-level crate layout
exactly, so `crates/<crate>/src/fixtures/` and
`crates/integration-tests/fixtures/...` stay scanned.

**Source files under `crates/integration-tests/fixtures/frameworks/*` —
including `.tsx`, `.ts`, `.json`, `next.config.mjs`, `Dockerfile` —
ARE scanned.** Only the publisher-capture path above is excluded.
Expand Down
Loading
Loading