Repository navigation
Add the module documentation set and finish the decomposition #1047
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
jwrosewell
wants to merge
236
commits into
IABTechLab:main
from
jwrosewell:split/5-response-hook-docs
Closed
Changes from all commits
Commits
Show all changes
236 commits
Select commit
Hold shift + click to select a range
b740265
Add a pluggable Edge Cookie provider seam with the built-in HMAC prov…
jwrosewell d2ad2a9
Accept the provider-code envelope on the partner-facing identifier paths
jwrosewell b2623cb
Rename the legacy passphrase migration so CodeQL stops tainting Settings
jwrosewell 918f96c
Stop serving without identity when a selected provider is unavailable
jwrosewell 61b7cf1
Hold the deprecated EC passphrase to the same rules as the new block
jwrosewell 5b01f98
Reject unknown keys in the built-in HMAC provider block
jwrosewell 7424932
Stop rather than run stateless when the hmac block is missing
jwrosewell d6dc848
Restore the missing line continuation in the mint rejection message
jwrosewell 45ec829
Give EdgeCookieProvider its own doc comment back
jwrosewell c4c584c
Delete the unused ec::get_ec_id helper
jwrosewell 5203c2d
Correct the provider module docs about when evidence arrives
jwrosewell e44ff38
Replace the scattered EC provider key strings with a typed selector
jwrosewell afdb7be
Reserve core's own response surface against provider effects
jwrosewell e90b471
Dispatch partner-path identifier checks by provider code
jwrosewell 3b74d74
Let each provider decide whether it needs the client IP
jwrosewell 29a3a7f
State a real retirement condition for the legacy bare-identifier reader
jwrosewell cb62786
Key identity-graph reads and write-backs by the canonical form
jwrosewell fe23dcc
Egress only an Edge Cookie identifier the provider recognizes
jwrosewell e3ba579
Record the cluster-count gap the identifier envelope opens
jwrosewell 292df1f
Consume the refused Report in the testlight egress tests
jwrosewell a3a5d57
Drop the request-evidence accessors that have no caller
jwrosewell b70ddc0
Collapse the EC provider selector to statelessness and a named provider
jwrosewell 5da52c8
Accumulate provider response headers instead of replacing the origin's
jwrosewell 67c3b0b
State what a provider switch really does to existing identities
jwrosewell 1f62e1a
Name the design documents rather than their paths in doc comments
jwrosewell c7464bc
Restore the line continuations missed in the neighbouring files
jwrosewell ef81e88
Correct the two provider doc comments the earlier pass missed
jwrosewell acb416f
Stop a provider code from panicking when a vendor builds one at run time
jwrosewell 8eb0a9b
Refuse two Edge Cookie providers claiming the same name
jwrosewell f2b1825
Build the internal header list from the Edge Cookie response headers
jwrosewell 52e2692
Resolve the Edge Cookie provider once per request instead of twice
jwrosewell 1c7df60
Load Spin settings from the config store instead of a baked template
jwrosewell 3234092
Stop exposing an inbound Edge Cookie identifier nothing has vouched for
jwrosewell 1df8bf7
Keep the whole request-evidence interface
jwrosewell 8a29373
Documentation and house-style cleanup for the Edge Cookie provider PR
jwrosewell 147a37b
Name the caching reason accurately in the reserved-header rejection
jwrosewell 7dda9dd
Collapse Edge Cookie provider injection to a single seam
jwrosewell c16c99d
Remove the orphaned no-client-IP test fixture
jwrosewell 99b1acd
Add device and geo provider selection with the host-signal Edge Cooki…
jwrosewell 20fee6a
Omit an unset provider selector from the serialized config
jwrosewell 74047c1
Read the Cloudflare visitor region so US state opt-outs are honored
jwrosewell cf8d098
Reunite the request-info builders with their own documentation
jwrosewell de98934
Documentation and house-style cleanup for the device and geo provider PR
jwrosewell d3b4b06
Drop the unused HeaderMap import from the device tests
jwrosewell dcdb493
Give each vendor crate a visible maintainers declaration
jwrosewell 8bb5987
Log the jurisdiction class rather than the value when EC creation is …
jwrosewell 4ef07d5
Add the permission model with the Privacy Taxonomy vocabulary
jwrosewell 68f67d0
Correct the permission-model docs to what the code does
jwrosewell 4c889b0
Give the remaining test fixtures the now-required default country
jwrosewell bb56ceb
Say which geo lookups can reach the requires-signal floor, and prove it
jwrosewell 8adbb06
Scope the permission-gating claim to the provider it is true of
jwrosewell f446393
State that evidence is not rationed and use is
jwrosewell 292352a
Name the IAB Tech Lab Privacy Taxonomy as the source of the vocabulary
jwrosewell 625e816
Build the test provider code through the macro that cannot fail
jwrosewell 0dd10fd
Documentation and house-style cleanup for the permission model PR
jwrosewell 1a73fe6
Complete the mint and fingerprint house-style sweep after rebase
jwrosewell c793b23
Document how the resolved permissions reach filters and the page
jwrosewell e759653
Expose the request permission state on the tsjs core API
jwrosewell 5eb8132
Pass the resolved permission state to integration request filters
jwrosewell e56cf0d
Carry the resolved permission state to the page
jwrosewell af386ca
Document the permission rules tree and retire the default country
jwrosewell 84b97c2
Match the guide's jurisdiction values to the policy parser
jwrosewell 7459346
Document jurisdiction as a per-node inherited attribute
jwrosewell 76fe217
Note the unknown jurisdiction on a failed lookup and the DE codes
jwrosewell 4c0758b
Point the GDPR page at the rules tree for jurisdiction assignment
jwrosewell ec86a6f
Add the permission model guide to the site navigation
jwrosewell 1f9b03f
Restructure the permission policy into a tree of places
jwrosewell c681310
Give the integration environment a real place through Viceroy geoloca…
jwrosewell 6f50829
Give the template-cache harness a real place through Viceroy geolocation
jwrosewell e8f0343
Anchor the harness's geo selector uncomment to the whole line
jwrosewell 4ea7757
Repair the harness's geo selector uncomment
jwrosewell 204393b
Model a realistic demo policy in permissions.yaml
jwrosewell f3f64f8
State that no policy ever ships with Trusted Server
jwrosewell 361d934
Move the sample permissions into config/permissions
jwrosewell 187a66a
Add the permissions inspector, driven by the real code as WebAssembly
jwrosewell 069ec9d
Mark the inspector build script executable
jwrosewell 9909f2e
Limit the inspector workflow token to reading contents
jwrosewell aa0bce0
Point the compiled-in rules doc at config/permissions
jwrosewell 15af0ec
Add the client-set Edge Cookie value path
jwrosewell 92a9594
Tidy the client-cycle spec prose and state the no-store rule precisely
jwrosewell a80c8a2
Hold the resolve endpoint to the reserved response-surface contract
jwrosewell dc60823
Accumulate provider response headers on the resolve endpoint too
jwrosewell 73ea970
Build the resolve test provider code through the macro that cannot fail
jwrosewell 5413ccb
Documentation and house-style cleanup for the client-resolve PR
jwrosewell ead75e2
Align the header-accumulation test with the reserved cache-control su…
jwrosewell 678b322
Reach the resolve endpoint's provider through the single seam
jwrosewell ee07418
Authorize the client resolve endpoint by exact origin, and restart th…
jwrosewell e2a7d49
Compare resolve origins by the RFC 6454 same-origin test
jwrosewell 93e3d69
Make the demo page script check its required permission before posting
jwrosewell 3ff6054
Add the provider documentation set and finish the decomposition
jwrosewell 1f6eea4
Correct the documentation set against the code
jwrosewell aba3399
Remove the test fixture and import the evidence rewrite left behind
jwrosewell 72542e3
Put back the check on what a provider is handed with no client IP
jwrosewell e28ffc8
Run the core library tests natively in CI as well as on WebAssembly
jwrosewell 5494e0f
Documentation and house-style cleanup for the response-hook and docs PR
jwrosewell bcc9a5b
Drop the retired default_country from the configuration guide
jwrosewell 158c129
Correct the configuration guide's permissions file location
jwrosewell ebf0117
Merge branch 'main' into split/1-ec-provider
aram356 02f79c7
Put the permission signal models behind a seam
jwrosewell da4ea02
Evaluate permission signals in order, each amending the last
jwrosewell 5383a36
Name the permission signal models in configuration
jwrosewell 1c369bf
Stop treating an unreadable consent record as a model to choose
jwrosewell 5d11c51
Open the permission signal seam to providers outside core
jwrosewell cce1f45
Ship the four IAB signal schemes as crates the adapters link
jwrosewell 48919be
Document permission signals and the provider order
jwrosewell b752d96
Carry the terms the data is available under
jwrosewell 0a54cf3
Merge the permission signal work from split/3
jwrosewell 6534bbd
Merge the permission signal work from split/4
jwrosewell c43ebef
Keep the provider rationale on the docs page
jwrosewell 2eb8712
Say what each permission signal assertion checks
jwrosewell 8c36bba
Merge the follow-up commits from split/3
jwrosewell 13c27d7
Merge the follow-up commits from split/4
jwrosewell af2e2f5
Merge main into the Edge Cookie provider seam
jwrosewell cb28ad3
Build the Axum test state from the compiled auction plan
jwrosewell 0832f00
Merge main into device and geo selection through split/1
jwrosewell a75571d
Resolve the host-signals passphrase from the secret store
jwrosewell 2ea1c69
Merge main into the permission model through split/2
jwrosewell 3c9f4b0
Correct the Windows notes on CI runners and the CLI
jwrosewell 69e7d57
Merge main into client resolve through split/3
jwrosewell d484805
Merge main into the response hook docs through split/4
jwrosewell 3d04183
Say the host-signal provider also hashes the client IP
jwrosewell 8b7cd94
Stop naming the retired default_country in the geo guide
jwrosewell 0980b73
Describe rejected provider effects accurately
jwrosewell 0e7f7eb
Key the remaining identity-graph paths canonically
jwrosewell fb1bc28
Correct comment claims and test a stale preload read
jwrosewell be0ed2d
Acknowledge one jurisdiction in the adapter startup tests
jwrosewell cb6f717
Keep provider headers only from candidates that generation commits
jwrosewell 1b88e42
Correct the admin lookup forms and the bare reader row note
jwrosewell 37eadae
Merge the Edge Cookie review follow-ups from split/1
jwrosewell e3bb4b9
Merge the Edge Cookie review follow-ups through split/2
jwrosewell 2c34be4
Merge the Edge Cookie review follow-ups through split/3
jwrosewell 5406acf
Merge the Edge Cookie review follow-ups through split/4
jwrosewell 88a7482
Run the permission signal providers in the permissions inspector
jwrosewell b7dd13f
Merge the permissions inspector fix from split/3
jwrosewell 65f7005
Merge the permissions inspector fix from split/4
jwrosewell a2a1dfc
Name the permissions sample for what it is
jwrosewell e17090b
Merge the permissions sample rename from split/3
jwrosewell 672cc60
Merge the permissions sample rename from split/4, and follow it in the
jwrosewell 60bf324
Name the client-fixed demo Edge Cookie provider client_fixed
jwrosewell f5b9c04
Select permission signal providers with provider, named in snake_case
jwrosewell 6e61e0b
Name the host-signal Edge Cookie provider host_signals
jwrosewell 14a3ffb
Give each identity provider its own table under [ec]
jwrosewell 558bde5
Merge the per-provider [ec] tables from split/1
jwrosewell 5c9f27e
Merge the per-provider [ec] tables and the host_signals name from spl…
jwrosewell ea716f5
Merge the per-provider [ec] tables and the permission signal rename f…
jwrosewell 6004c99
Merge the four provider renames from split/4, and follow them in the …
jwrosewell d11895b
Join four clauses in the Edge Cookie guides with words rather than marks
jwrosewell 4d40e5c
Merge main into the Edge Cookie provider seam
jwrosewell 5e32cde
Merge main into device and geo provider selection
jwrosewell 0d446be
Merge main into the permission model
jwrosewell eca58fe
Merge main into the client-set Edge Cookie value path
jwrosewell f97a328
Merge main into the provider documentation set
jwrosewell 5b83034
Give the test state the services field main added
jwrosewell c6bb840
Merge the test state fix from split/1
jwrosewell edad223
Merge the test state fix from split/2
jwrosewell 077da8f
Merge the test state fix from split/3
jwrosewell 1feaab6
Merge the test state fix from split/4
jwrosewell fe0b6d9
Let the shared Next.js fixture say it serves one jurisdiction
jwrosewell 7d53894
Merge the fixture jurisdiction fix from split/3
jwrosewell 02782ab
Merge the fixture jurisdiction fix from split/4
jwrosewell 22262a0
Let the cache withdrawal test withdraw on this branch's terms
jwrosewell ffe1b44
Merge the withdrawal test fix from split/3
jwrosewell 33503ed
Merge the withdrawal test fix from split/4
jwrosewell 53f16ab
Merge upstream main 7a0ecb4 into split/1-ec-provider
jwrosewell 797c919
Give orphan recovery the request's headers, path and query
jwrosewell fbe302a
Delete the cookie reading test that only read its own double
jwrosewell 977456e
Test that push validation keeps a labeled block's other errors
jwrosewell 4da2a39
Bring the Edge Cookie seam's comments, docs and tests into line
jwrosewell 1e25353
The Edge Cookie seam says module where it said provider
jwrosewell 80a842e
Merge split/1-ec-provider at 1e25353b8 into split/2-device-geo
jwrosewell 2c34ed1
Stop refusing the host-signals spelling by name
jwrosewell badb58b
Resolve a cross-named built-in Edge Cookie block's passphrase once
jwrosewell 13cfa9b
The device and geo seams say module where they said provider
jwrosewell 66b4bf6
Merge split/2-device-geo at 13cfa9b5e into split/3-permissions
jwrosewell 796bb47
Say what happens when geolocation resolves no location
jwrosewell 207d04e
Say which permissions are still waiting for a signal
jwrosewell c04649f
Await only what a configured module could still grant
jwrosewell ddceadd
Each module owns its own unreadable signal, and the state names the v…
jwrosewell 7554c3e
The Model Terms for Marketing signal module, reading the preference c…
jwrosewell fc2a355
The permission model says module where it said provider
jwrosewell 1e8b612
Run the permission signal crates' tests with the Axum adapter
jwrosewell 511db9b
Bring the permission model's comments and tests into line
jwrosewell 20af33c
Merge split/3-permissions at 511db9b3a into split/4-client-resolve
jwrosewell 6c0d268
Acknowledge single-jurisdiction operation in the Fastly sandbox tests
jwrosewell c4722aa
Refuse a resolve_allowed_origins entry that is not a bare origin
jwrosewell c87a986
Answer a resolve with the module the request selected
jwrosewell 3b30859
Stop refusing the client-fixed spelling by name
jwrosewell 8ae43d1
Write the resolved Edge Cookie with set_ec_cookie
jwrosewell 4e28a68
Format the permission model and signal pages
jwrosewell 343bd5f
Stop the inspector reporting a field core no longer answers
jwrosewell 7de2f18
Fold the Edge Cookie resolve tests that repeat one arrange
jwrosewell ac51edc
Pin the inspector's lock to the edgezero revision the workspace uses
jwrosewell bbda299
Bring the resolve tests into line with what the endpoint does
jwrosewell 8f6047e
Format the agent guide and the permission signal README
jwrosewell c91b8c6
Fold the demonstration module's resolve_from_client tests into one table
jwrosewell b63eabc
Merge split/3-permissions at 8f6047e94 into split/4-client-resolve
jwrosewell ff56a5f
The client resolve path says module where it said provider
jwrosewell 17fd681
Thread the selected module into the conflict test's context
jwrosewell 3c77e44
Merge split/4-client-resolve at ff56a5fcd into split/5-response-hook-…
jwrosewell caccf8d
The documentation set says module where it said provider
jwrosewell ecb5fb7
Merge split/4-client-resolve at 17fd681eb into split/5-response-hook-…
jwrosewell e3aeeba
Restore the icu_provider crate name in the inspector's lockfile
jwrosewell 30fbc6d
Merge split/4-client-resolve at e3aeeba08 into split/5-response-hook-…
jwrosewell 6b2e303
A module is named by its crate folder
jwrosewell 6fc9cdf
Merge split/1-ec-provider at 6b2e303f1 into split/2-device-geo
jwrosewell 6489135
Merge split/2-device-geo at 6fc9cdf71 into split/3-permissions
jwrosewell fd51fe8
The permission signal modules are named by their crate folders
jwrosewell 9a37728
Merge split/3-permissions at fd51fe830 into split/4-client-resolve
jwrosewell 833089e
Merge split/4-client-resolve at 9a3772871 into split/5-response-hook-…
jwrosewell 93af3ea
The configuration guide states the module name rule
jwrosewell ef4c013
Comments say what the code does, with the history taken out
jwrosewell 35ccc36
Merge split/1-ec-provider at ef4c01347 into split/2-device-geo
jwrosewell cec6052
Comments say what the code does, with the history and plans taken out
jwrosewell 05a1cce
Merge split/2-device-geo at cec6052e2 into split/3-permissions
jwrosewell 9da9a65
Comments and the permission model guide say what is true now
jwrosewell 5d808f2
Say what normalize_id_for_kv decides, and pin it with a fixture
jwrosewell 09514b1
Merge split/1-ec-provider at 5d808f233 into split/2-device-geo
jwrosewell c0a0f3a
Merge split/2-device-geo at 09514b188 into split/3-permissions
jwrosewell 6b9f52b
Merge split/3-permissions at c0a0f3a81 into split/4-client-resolve
jwrosewell 327211c
Merge split/4-client-resolve at 6b9f52b40 into split/5-response-hook-…
jwrosewell f220687
The Edge Cookie guides describe the permission model as it is
jwrosewell 6f52771
The identity graph's comments describe device records, not person rec…
jwrosewell fb1d369
Merge split/1-ec-provider at 6f527710a into split/2-device-geo
jwrosewell 613cd18
Merge split/2-device-geo at fb1d369a1 into split/3-permissions
jwrosewell 59660c4
Merge split/3-permissions at 613cd1831 into split/4-client-resolve
jwrosewell 1f31ba5
Merge split/4-client-resolve at 59660c468 into split/5-response-hook-…
jwrosewell d33507b
Merge upstream main 182fdf4 into split/1-ec-provider
jwrosewell 47551a6
Merge split/1-ec-provider at d33507b32 into split/2-device-geo
jwrosewell 0afd715
Merge split/2-device-geo at 47551a622 into split/3-permissions
jwrosewell e7623de
Merge split/3-permissions at 0afd715c5 into split/4-client-resolve
jwrosewell 3c7ef00
Merge split/4-client-resolve at e7623de78 into split/5-response-hook-…
jwrosewell 6844050
Merge upstream main d2f0d8cc0 into split/1-ec-provider
Jamesr51d 138faf1
Merge split/1-ec-provider into split/2-device-geo
Jamesr51d a028c00
Merge split/2-device-geo into split/3-permissions
Jamesr51d a70e9d2
Merge split/3-permissions into split/4-client-resolve
Jamesr51d 61b1399
Merge split/4-client-resolve into split/5-response-hook-docs
Jamesr51d File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| name: "Permissions Inspector" | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build-inspector-wasm: | ||
| name: build inspector wasm | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Retrieve Rust version | ||
| id: rust-version | ||
| run: echo "rust-version=$(grep -oP 'channel = "\K[^"]+' rust-toolchain.toml)" >> "$GITHUB_OUTPUT" | ||
| - name: Set up Rust toolchain | ||
| uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
| with: | ||
| toolchain: ${{ steps.rust-version.outputs.rust-version }} | ||
| target: wasm32-unknown-unknown | ||
| - name: Build the inspector engine | ||
| run: ./scripts/build-inspector-wasm.sh | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.