CertScore.ai
This duplicate listing has been replaced by CertScore.ai MCP Light. Please use that canonical listing. The MCP Light service remains active.
Server Details
Give your AI agent a clear picture of a website's privacy and tracking behavior. CertScore.ai checks public websites for cookies, trackers, consent controls, privacy-policy disclosures, and transport-security signals, then returns prioritized findings, retained evidence, and a shareable report.
Use it before a website launch, when reviewing a vendor, or to investigate tracking and consent behavior. Start with CertScore MCP Light—no account, API key, or OAuth setup required.
Try asking your agent: "Check my website's privacy and tracking behavior. Show me the top findings, supporting evidence, and report link." The simple three-tool workflow scans the site, checks progress, and retrieves the results.
Connect in minutes: https://certscore.ai/mcp/light
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
The tools are mostly distinct: scan_site creates scans, get_scan_status tracks lifecycle, and get_scan_bundle/get_report_evidence_page retrieve results. The only potential confusion is between the two result-retrieval tools, but their concise-summary versus exhaustive-evidence descriptions make the boundary reasonably clear.
All tools follow a consistent certscore_<verb>_<object> pattern in snake_case. The verb choice is clear: scan_ for creation and get_ for retrieval, making the naming predictable and easy to navigate.
Four tools cover the core scan workflow without bloat: initiate, check status, retrieve concise bundle, and retrieve paginated evidence. This is a well-scoped surface for a privacy-scanning service.
The scan lifecycle is well covered: create, poll/status, and two complementary result-retrieval paths. Minor gaps exist, such as no explicit list-scan-history or cancel-scan tool, but they are not essential to the primary workflow.
Available Tools
4 toolscertscore_get_report_evidence_pageGet report evidence pageARead-onlyInspect
Retrieve scan report display content as paginated JSON, without internal diagnostic JSON downloads. The response also offers a single-file full JSON download; private JSON download links expire after five minutes and need no OAuth header; use pagination if your host blocks file downloads. Repeated display records use reportContentRef JSON Pointers. Includes including evidence tables, full-site page and resource inventories, all retained additional-page form fields, form snapshot download references, and retained limitations. Snapshot images are downloaded separately from the returned URLs, with OAuth bearer authentication for workspace scans. Available on OAuth and Light. Start with scanId; follow pagination.nextCursor until complete. Pages share a snapshot; restart if it changes. Each entry has a JSON Pointer path and value; oversized strings use numbered parts. Export completion is not complete observation coverage. Use the concise scan bundle for summaries; use this tool for exhaustive report evidence. No new scan is created.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | ||
| scanId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| scanId | Yes | |
| entries | Yes | |
| version | Yes | |
| coverage | Yes | |
| download | No | |
| snapshot | Yes | |
| reportUrl | Yes | |
| pagination | Yes | |
| reconstruction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/destructive/idempotent hints: download-link expiry (five minutes), no-OAuth for private JSON links vs. OAuth bearer for workspace snapshot images, pagination/snapshot consistency semantics, and the caveat that export completion is not observation coverage. This is rich context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in the first sentence, but the remainder is a dense multi-clause paragraph mixing download mechanics, auth, pagination, and form-field inventories without structural breaks. Most sentences carry facts, yet the block could be tightened and grouped more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated evidence tool with an output schema (so return shapes need not be described) and only two params, the description covers pagination flow, auth requirements, and scope. It is close to complete, though the exact content of the JSON entries and the oversized-string 'numbered parts' convention could be clearer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the burden and mostly succeeds: it explains scanId as the required starting point and the cursor as a pagination token to follow via 'nextCursor' until complete. Both parameters' roles are inferable from the text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource ('Retrieve scan report display content as paginated JSON') and the closing sentence explicitly distinguishes it from the sibling bundle tool ('Use the concise scan bundle for summaries; use this tool for exhaustive report evidence'). An agent can distinguish this from certscore_get_scan_bundle without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit starting instructions ('Start with scanId; follow pagination.nextCursor until complete'), a fallback rule ('use pagination if your host blocks file downloads'), an invalidation condition ('restart if it changes'), and a named alternative ('concise scan bundle for summaries'). When-to-use and when-to-use-something-else are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certscore_get_scan_bundleGet scan bundleARead-onlyInspect
Returns the completed or completed-limited CertScore evidence bundle for a stable scanId as concise TextContent and matching structuredContent. Available sections include the canonical report overview, bounded projected findings, pre-consent cookie and tracker evidence, coverage limitations, persisted execution provenance, and retrieval URLs. Detail tiers and byte budgets control the bounded response, with explicit returned, total, truncated, and omitted-section metadata. Accept and Reject results distinguish registered decisions from retained after-click facts. Optional afterAction summaries remain useful when registration is unconfirmed; absent or failed capture remains explicitly limited. Consume canonical findings for any scoring effect. Results are automated public-web observations, not legal advice, certification, or a compliance determination.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | Response detail. Defaults to summary; evidence and full opt into heavier retained context. | |
| scanId | Yes | Stable CertScore scan ID. | |
| maxBytes | No | Requested serialized structured response budget in bytes. The full profile defaults to 50000. MCP Light defaults to and applies a transport-safe 25000-byte ceiling; larger Light requests are clamped and reported in response metadata. | |
| maxFindings | No | Maximum compact findings to return. Defaults to 5 for summary and 20 otherwise. | |
| maxPreConsentRows | No | Maximum compact pre-consent inventory rows to return. Defaults to 20. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| noGo | No | |
| type | Yes | |
| error | Yes | |
| links | No | |
| score | Yes | |
| detail | Yes | |
| domain | Yes | |
| scanId | Yes | |
| status | Yes | |
| timing | No | |
| summary | No | |
| coverage | No | |
| findings | Yes | |
| scanFrom | Yes | |
| createdAt | Yes | |
| reportUrl | Yes | |
| riskLevel | Yes | |
| startedAt | Yes | |
| disclaimer | Yes | |
| fullReport | No | |
| provenance | Yes | |
| scoreLabel | Yes | |
| completedAt | Yes | |
| gpcResponse | No | |
| mcpMetadata | Yes | |
| scoreStatus | Yes | |
| scoreVersion | Yes | |
| scoreUpdatedAt | Yes | |
| evidenceSummary | No | |
| scanTimeSeconds | Yes | |
| findingsMetadata | Yes | |
| resultDisposition | No | |
| transportSecurity | Yes | |
| evidenceUrlTemplate | No | |
| recommendedNextTool | Yes | |
| postAcceptObservation | No | |
| recommendedNextAction | Yes | |
| interpretationGuidance | Yes | |
| postRefusalObservation | No | |
| observationOnlyDisclaimer | Yes | |
| preConsentCookiesTrackers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive), yet the description adds real behavioral context beyond them: byte-budget clamping, returned/total/truncated/omitted metadata, the distinction between registered decisions vs retained after-click facts, and the disclaimer that results are automated observations, not legal advice or a compliance determination. It omits auth/rate-limit behavior, keeping it shy of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and section inventory, then layers limits and caveats. Most sentences earn their place, though a few (e.g., 'Consume canonical findings for any scoring effect') are terse to the point of opacity and the paragraph runs long without structural breaks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description need not explain return values, and it still supplies the limitation and truncation semantics an agent needs to interpret a bounded bundle. The one gap is the missing relationship to the sibling tools and the implied precondition that the scan be completed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema lacks: detail tiers and byte budgets jointly 'control the bounded response' and produce explicit truncation/omission metadata, and it clarifies that pre-consent evidence is a bounded section tied to maxPreConsentRows. That goes beyond restating field docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the completed or completed-limited CertScore evidence bundle for a stable scanId') and enumerates the sections returned, so an agent knows exactly what this yields. It does not explicitly name or contrast the siblings get_scan_status/scan_site, so differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied ('Consume canonical findings for any scoring effect') and the detail-tier semantics hint at when to opt into heavier context, but there is no explicit when-to-use-this-vs-status/scan_site guidance or stated prerequisites (e.g., must the scan already be completed?). Adequate but leaves the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certscore_get_scan_statusGet scan statusARead-onlyIdempotentInspect
Returns lifecycle status for a stable CertScore scanId. Active responses include phase, heartbeat, estimated progress, retryAfterSeconds, and sometimes a bounded preliminary preConsentPreview. Terminal responses include completion status, CertScore score and risk metadata when available, coverage, persisted execution region and timestamps, report URL, and a next-action field. Preliminary observations are distinct from completed findings.
| Name | Required | Description | Default |
|---|---|---|---|
| scanId | Yes | Stable CertScore scan ID returned by certscore_scan_site. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| noGo | No | |
| type | No | |
| error | Yes | |
| jobId | No | |
| links | No | |
| phase | No | |
| score | No | |
| domain | No | |
| scanId | No | |
| status | No | |
| scan_id | No | |
| stalled | No | |
| coverage | No | |
| scanFrom | No | |
| createdAt | No | |
| reportUrl | No | |
| riskLevel | No | |
| startedAt | No | |
| provenance | Yes | |
| scoreLabel | Yes | |
| completedAt | No | |
| gpcResponse | No | |
| scoreStatus | No | |
| scoreVersion | No | |
| lastUpdatedAt | No | |
| phaseStartedAt | No | |
| scoreUpdatedAt | No | |
| lastHeartbeatAt | No | |
| progressPercent | No | |
| scanTimeSeconds | No | |
| preConsentPreview | No | |
| resultDisposition | No | |
| retryAfterSeconds | No | |
| progressIsEstimate | No | |
| recommendedNextTool | Yes | |
| postAcceptObservation | No | |
| recommendedNextAction | Yes | |
| interpretationGuidance | Yes | |
| postRefusalObservation | No | |
| estimatedRemainingSeconds | No | |
| observationOnlyDisclaimer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's value is in adding lifecycle behavior: active vs. terminal response shapes, heartbeat/progress/retry hints, and the warning that preliminary observations are distinct from completed findings. That last point is genuinely useful operational context not available in the schema. It does not cover error behavior for an unknown or expired scanId.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is correctly front-loaded in the first sentence, but the following two sentences enumerate return fields (score, risk metadata, coverage, region, timestamps, report URL, next-action) that are already described by the output schema, so a meaningful share of the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description does not need to explain return values, yet it usefully captures the polling contract (active vs. terminal, retryAfterSeconds, preliminary vs. final findings). It is complete enough to call correctly, with only error/null-state behavior left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter, so the schema already explains scanId and its provenance. The description adds only the 'stable' qualifier and repeats that terminal responses carry score metadata; the baseline of 3 is appropriate when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns lifecycle status for a stable CertScore scanId'), so an agent knows exactly what it retrieves. It does not, however, distinguish itself from the sibling tools (certscore_get_scan_bundle, certscore_scan_site) or clarify its position in the scan lifecycle relative to them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of 'phase', 'heartbeat', and 'retryAfterSeconds' signals this is a polling tool for an in-flight scan, but the description never says to call it after certscore_scan_site or to stop once the response is terminal. No alternative tool is named or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certscore_scan_siteScan siteAInspect
Creates a public-website privacy scan or reuses an eligible recent completed scan. Coverage includes pre-consent storage, trackers, consent and CMP signals, privacy-policy disclosures, transport security, and GDPR/ePrivacy or CCPA/CPRA review signals. The response contains a stable scanId, lifecycle status, retry timing, and sometimes a bounded preliminary preConsentPreview; preliminary data contains no final findings or score. Results are automated public-web observations, not legal advice, certification, or a compliance determination. Tool and workflow documentation: https://certscore.ai/developers/mcp.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public URL or domain to scan. | |
| scanFrom | No | Optional execution region for a newly queued scan: eu_de, eu_ie, california, or the service default when omitted. | |
| freshness | No | Scan freshness policy. latest allows eligible recent completed-result reuse when available; refresh requests a new scan. Defaults to latest. | |
| taskContext | No | Optional caller-declared purpose and integration ID/version for usage research. Only include questionSummary when the user knowingly agrees to share a brief non-sensitive question for product improvement; label user_wording or agent_paraphrase. Never include chat history, personal/account details, secrets or URLs. Omission does not affect scanning. | |
| maxWaitSeconds | No | Deprecated compatibility field; accepted but ignored. The bounded preliminary-preview wait is controlled by CertScore and never waits for scan completion. | |
| waitForCompletion | No | Deprecated compatibility field; accepted but ignored. certscore_scan_site never waits for a new scan to finish, though MCP Light may briefly wait within a bounded preview window for preliminary pre-consent observations. |
Output Schema
| Name | Required | Description |
|---|---|---|
| noGo | No | |
| type | Yes | |
| error | Yes | |
| jobId | No | |
| links | No | |
| score | No | |
| domain | No | |
| scanId | No | |
| status | Yes | |
| coverage | No | |
| scanFrom | No | |
| createdAt | No | |
| reportUrl | No | |
| riskLevel | No | |
| startedAt | No | |
| provenance | Yes | |
| scoreLabel | Yes | |
| completedAt | No | |
| gpcResponse | No | |
| scoreStatus | No | |
| scoreVersion | No | |
| scoreUpdatedAt | No | |
| scanTimeSeconds | No | |
| demoSubstitution | No | |
| preConsentPreview | No | |
| resultDisposition | No | |
| recommendedNextTool | Yes | |
| postAcceptObservation | No | |
| recommendedNextAction | Yes | |
| interpretationGuidance | Yes | |
| postRefusalObservation | No | |
| observationOnlyDisclaimer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds meaningful behavioral context beyond annotations: it may reuse a recent scan, it returns a stable scanId, lifecycle status, retry timing, and sometimes a bounded preliminary preConsentPreview that contains no final findings. It also explicitly disclaims that results are not legal advice or compliance determinations. This is substantial behavioral disclosure. It doesn't mention rate limits or auth requirements, but the disclaimer and reuse behavior are valuable. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: the core action is in the first sentence, followed by coverage, response contents, and a disclaimer. It is somewhat long, but every sentence earns its place—especially the disclaimer and the preliminary-data caveat, which prevent misuse. The documentation link is a minor addition. It could be slightly tighter, but it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 params, nested taskContext, output schema present, 3 siblings), the description is quite complete. It covers what the tool does, what the response contains, the freshness/reuse behavior, the non-blocking nature, and the legal disclaimer. The output schema exists, so return values need not be fully described. The only notable gap is that it doesn't explicitly route to sibling tools for follow-up (e.g., 'use certscore_get_scan_status to poll'), but the lifecycle status mention partially covers that. Overall, a strong definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the semantics of the freshness parameter ('latest allows eligible recent completed-result reuse when available; refresh requests a new scan') and the deprecated waitForCompletion/maxWaitSeconds fields ('accepted but ignored'). It also clarifies that taskContext omission does not affect scanning and that questionSummary should only be included with user consent. This goes beyond the schema's field descriptions, so a 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it creates a public-website privacy scan or reuses an eligible recent completed scan. It enumerates the coverage areas (pre-consent storage, trackers, consent/CMP signals, privacy-policy disclosures, transport security, GDPR/ePrivacy/CCPA/CPRA signals), which distinguishes it from sibling tools that retrieve reports, bundles, or status. The verb 'creates' plus the resource 'public-website privacy scan' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the freshness policy (latest vs refresh) and notes that the tool never waits for completion, which helps an agent decide when to call it versus when to poll with certscore_get_scan_status. It does not explicitly name sibling alternatives or state 'use X instead when...', but the context is clear enough: this is the entry point to initiate a scan, while siblings retrieve results. A small gap is that it doesn't explicitly say 'use certscore_get_scan_status to check status after calling this', though the lifecycle status mention implies it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
certscore_scan_site1 field changed- changed
Input schema / properties / taskContext / properties / questionSummary / maxLengthPrevious value: -300New value: +8192
1 tool update
- Changed
certscore_get_report_evidence_page3 fields changed- removed
Output schema / properties / download / properties / authentication / constRemoved value: -"same_access_rules_as_mcp" - added
Output schema / properties / download / properties / authentication / enumAdded value: +[ + "same_access_rules_as_mcp", + "short_lived_report_link", + "public" +] - added
Output schema / properties / download / properties / expiresAtAdded value: +{ + "format": "date-time", + "type": "string" +}
1 tool update
- Changed
certscore_get_report_evidence_page1 field changed- added
Output schema / properties / downloadAdded value: +{ + "additionalProperties": false, + "properties": { + "authentication": { + "const": "same_access_rules_as_mcp", + "type": "string" + }, + "bytes": { + "minimum": 0, + "type": "integer" + }, + "instructions": { + "type": "string" + }, + "mediaType": { + "const": "application/json", + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "mediaType", + "bytes", + "authentication", + "instructions" + ], + "type": "object" +}
1 tool update
- Added
certscore_get_report_evidence_page
1 tool update
- Changed
certscore_get_scan_bundle1 field changed- added
Output schema / properties / preConsentCookiesTrackers / properties / summary / properties / storageCountAdded value: +{ + "minimum": 0, + "type": "integer" +}
3 tool updates
- Changed
certscore_get_scan_bundle2 fields changed- changed
Output schema / properties / postAcceptObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "acceptanceExercised": { - "type": "boolean" - }, - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "acceptance_signal_contradiction_observed", - "window_elapsed", - "accept_control_not_observed", - "accept_path_timeout", - "accept_observation_window_truncated", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_acceptance", - "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_accept_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "acceptanceExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "afterAction": { + "additionalProperties": false, + "properties": { + "action": { + "enum": [ + "accept", + "reject" + ], + "type": "string" + }, + "activationStatus": { + "enum": [ + "completed", + "uncertain" + ], + "type": "string" + }, + "policyVersion": { + "enum": [ + "bounded_after_action_capture.v1", + "bounded_after_action_capture.v2" + ], + "type": "string" + }, + "requestCount": { + "minimum": 0, + "type": "integer" + }, + "requestsDropped": { + "minimum": 0, + "type": "integer" + }, + "stopReason": { + "enum": [ + "window_elapsed", + "aborted", + "target_changed", + "click_uncertain" + ], + "type": "string" + }, + "storageSnapshotRetained": { + "type": "boolean" + }, + "storageWriteCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "policyVersion", + "action", + "activationStatus", + "stopReason", + "requestsDropped", + "requestCount", + "storageWriteCount", + "storageSnapshotRetained" + ], + "type": "object" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +] - changed
Output schema / properties / postRefusalObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "refusalExercised": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "refusal_signal_contradiction_observed", - "window_elapsed", - "reject_path_timeout", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_refusal", - "retained_consent_signal_contradiction_observed_after_confirmed_refusal", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_refusal_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "refusalExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAction": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/afterAction" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status2 fields changed- changed
Output schema / properties / postAcceptObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "acceptanceExercised": { - "type": "boolean" - }, - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "acceptance_signal_contradiction_observed", - "window_elapsed", - "accept_control_not_observed", - "accept_path_timeout", - "accept_observation_window_truncated", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_acceptance", - "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_accept_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "acceptanceExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "afterAction": { + "additionalProperties": false, + "properties": { + "action": { + "enum": [ + "accept", + "reject" + ], + "type": "string" + }, + "activationStatus": { + "enum": [ + "completed", + "uncertain" + ], + "type": "string" + }, + "policyVersion": { + "enum": [ + "bounded_after_action_capture.v1", + "bounded_after_action_capture.v2" + ], + "type": "string" + }, + "requestCount": { + "minimum": 0, + "type": "integer" + }, + "requestsDropped": { + "minimum": 0, + "type": "integer" + }, + "stopReason": { + "enum": [ + "window_elapsed", + "aborted", + "target_changed", + "click_uncertain" + ], + "type": "string" + }, + "storageSnapshotRetained": { + "type": "boolean" + }, + "storageWriteCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "policyVersion", + "action", + "activationStatus", + "stopReason", + "requestsDropped", + "requestCount", + "storageWriteCount", + "storageSnapshotRetained" + ], + "type": "object" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +] - changed
Output schema / properties / postRefusalObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "refusalExercised": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "refusal_signal_contradiction_observed", - "window_elapsed", - "reject_path_timeout", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_refusal", - "retained_consent_signal_contradiction_observed_after_confirmed_refusal", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_refusal_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "refusalExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAction": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/afterAction" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site2 fields changed- changed
Output schema / properties / postAcceptObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "acceptanceExercised": { - "type": "boolean" - }, - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "acceptance_signal_contradiction_observed", - "window_elapsed", - "accept_control_not_observed", - "accept_path_timeout", - "accept_observation_window_truncated", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_acceptance", - "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_accept_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "acceptanceExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "afterAction": { + "additionalProperties": false, + "properties": { + "action": { + "enum": [ + "accept", + "reject" + ], + "type": "string" + }, + "activationStatus": { + "enum": [ + "completed", + "uncertain" + ], + "type": "string" + }, + "policyVersion": { + "enum": [ + "bounded_after_action_capture.v1", + "bounded_after_action_capture.v2" + ], + "type": "string" + }, + "requestCount": { + "minimum": 0, + "type": "integer" + }, + "requestsDropped": { + "minimum": 0, + "type": "integer" + }, + "stopReason": { + "enum": [ + "window_elapsed", + "aborted", + "target_changed", + "click_uncertain" + ], + "type": "string" + }, + "storageSnapshotRetained": { + "type": "boolean" + }, + "storageWriteCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "policyVersion", + "action", + "activationStatus", + "stopReason", + "requestsDropped", + "requestCount", + "storageWriteCount", + "storageSnapshotRetained" + ], + "type": "object" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +] - changed
Output schema / properties / postRefusalObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "evidenceDisposition": { - "enum": [ - "confirmed", - "indeterminate" - ], - "type": "string" - }, - "indeterminateReason": { - "anyOf": [ - { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "refusalExercised": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "refusal_signal_contradiction_observed", - "window_elapsed", - "reject_path_timeout", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_refusal", - "retained_consent_signal_contradiction_observed_after_confirmed_refusal", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_refusal_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "refusalExercised", - "observationCount", - "productionProjectable", - "evidenceDisposition", - "indeterminateReason", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAction": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/afterAction" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
3 tool updates
- Changed
certscore_get_scan_bundle1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "comparable": { - "type": "boolean" - }, - "coverage": { - "additionalProperties": false, - "properties": { - "comparedThroughMs": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "status": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status", - "comparedThroughMs" - ], - "type": "object" - }, - "delivery": { - "additionalProperties": false, - "properties": { - "status": { - "enum": [ - "verified", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status" - ], - "type": "object" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMarketingActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "baselineOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "gpcOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "samplesTruncated": { - "type": "boolean" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "sharedCount": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "webStorage": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "type": [ - "boolean", - "null" - ] - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "anyOf": [ - { - "const": "1", - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - }, - "responseBasis": { - "enum": [ - "qualified_activity_reduction", - "no_qualified_reduction", - "insufficient_evidence" - ], - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "contractVersion": { - "enum": [ - "certscore.gpc-response-assessment.v1", - "certscore.gpc-response-assessment.v2" - ], - "type": "string" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2", + "certscore.gpc-response-assessment.v3" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "observation": { + "additionalProperties": false, + "properties": { + "acknowledgment": { + "additionalProperties": false, + "properties": { + "captureComplete": { + "type": "boolean" + }, + "observed": { + "type": "boolean" + } + }, + "required": [ + "observed", + "captureComplete" + ], + "type": "object" + }, + "contractVersion": { + "const": "certscore.gpc-bounded-observation.v1", + "type": "string" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "fullContextVerified": { + "type": "boolean" + }, + "httpHeaderRetained": { + "type": "boolean" + }, + "mainNavigatorReadbackRetained": { + "type": "boolean" + } + }, + "required": [ + "httpHeaderRetained", + "mainNavigatorReadbackRetained", + "fullContextVerified" + ], + "type": "object" + }, + "documentUrlSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "registration": { + "additionalProperties": false, + "properties": { + "basis": { + "const": "current_recorded_state", + "type": "string" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "cmpGpcSignal": { + "enum": [ + "received", + "not_received", + "unknown" + ], + "type": "string" + }, + "sale": { + "enum": [ + "opted_out", + "not_opted_out", + "unknown" + ], + "type": "string" + }, + "sharing": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/registration/properties/sale" + } + }, + "required": [ + "basis", + "sale", + "sharing", + "cmpGpcSignal", + "causedByGpc" + ], + "type": "object" + }, + "requests": { + "additionalProperties": false, + "properties": { + "blockedBeforeTransmissionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "classifiedCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "collectionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "complete": { + "type": "boolean" + }, + "count": { + "minimum": 0, + "type": "integer" + }, + "documentCommittedAtMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "evidenceIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "fromMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "samplesTruncated": { + "type": "boolean" + }, + "throughMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "count", + "blockedBeforeTransmissionCount", + "complete", + "fromMs", + "documentCommittedAtMs", + "throughMs", + "classifiedCount", + "collectionCount", + "evidenceIds", + "samplesTruncated" + ], + "type": "object" + }, + "scope": { + "const": "main_document_and_retained_http_requests", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "semanticProbe": { + "enum": [ + "observed", + "unsupported", + "unavailable", + "not_ready", + "invalid", + "incomplete" + ], + "type": "string" + }, + "sessionSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "sourceSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "contractVersion", + "scope", + "status", + "sourceSha256", + "sessionSha256", + "documentUrlSha256", + "delivery", + "semanticProbe", + "registration", + "acknowledgment", + "requests", + "limitationKeys", + "scoreEffect", + "legalInterpretation" + ], + "type": "object" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "comparable": { - "type": "boolean" - }, - "coverage": { - "additionalProperties": false, - "properties": { - "comparedThroughMs": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "status": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status", - "comparedThroughMs" - ], - "type": "object" - }, - "delivery": { - "additionalProperties": false, - "properties": { - "status": { - "enum": [ - "verified", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status" - ], - "type": "object" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMarketingActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "baselineOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "gpcOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "samplesTruncated": { - "type": "boolean" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "sharedCount": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "webStorage": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "type": [ - "boolean", - "null" - ] - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "anyOf": [ - { - "const": "1", - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - }, - "responseBasis": { - "enum": [ - "qualified_activity_reduction", - "no_qualified_reduction", - "insufficient_evidence" - ], - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "contractVersion": { - "enum": [ - "certscore.gpc-response-assessment.v1", - "certscore.gpc-response-assessment.v2" - ], - "type": "string" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2", + "certscore.gpc-response-assessment.v3" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "observation": { + "additionalProperties": false, + "properties": { + "acknowledgment": { + "additionalProperties": false, + "properties": { + "captureComplete": { + "type": "boolean" + }, + "observed": { + "type": "boolean" + } + }, + "required": [ + "observed", + "captureComplete" + ], + "type": "object" + }, + "contractVersion": { + "const": "certscore.gpc-bounded-observation.v1", + "type": "string" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "fullContextVerified": { + "type": "boolean" + }, + "httpHeaderRetained": { + "type": "boolean" + }, + "mainNavigatorReadbackRetained": { + "type": "boolean" + } + }, + "required": [ + "httpHeaderRetained", + "mainNavigatorReadbackRetained", + "fullContextVerified" + ], + "type": "object" + }, + "documentUrlSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "registration": { + "additionalProperties": false, + "properties": { + "basis": { + "const": "current_recorded_state", + "type": "string" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "cmpGpcSignal": { + "enum": [ + "received", + "not_received", + "unknown" + ], + "type": "string" + }, + "sale": { + "enum": [ + "opted_out", + "not_opted_out", + "unknown" + ], + "type": "string" + }, + "sharing": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/registration/properties/sale" + } + }, + "required": [ + "basis", + "sale", + "sharing", + "cmpGpcSignal", + "causedByGpc" + ], + "type": "object" + }, + "requests": { + "additionalProperties": false, + "properties": { + "blockedBeforeTransmissionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "classifiedCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "collectionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "complete": { + "type": "boolean" + }, + "count": { + "minimum": 0, + "type": "integer" + }, + "documentCommittedAtMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "evidenceIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "fromMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "samplesTruncated": { + "type": "boolean" + }, + "throughMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "count", + "blockedBeforeTransmissionCount", + "complete", + "fromMs", + "documentCommittedAtMs", + "throughMs", + "classifiedCount", + "collectionCount", + "evidenceIds", + "samplesTruncated" + ], + "type": "object" + }, + "scope": { + "const": "main_document_and_retained_http_requests", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "semanticProbe": { + "enum": [ + "observed", + "unsupported", + "unavailable", + "not_ready", + "invalid", + "incomplete" + ], + "type": "string" + }, + "sessionSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "sourceSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "contractVersion", + "scope", + "status", + "sourceSha256", + "sessionSha256", + "documentUrlSha256", + "delivery", + "semanticProbe", + "registration", + "acknowledgment", + "requests", + "limitationKeys", + "scoreEffect", + "legalInterpretation" + ], + "type": "object" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "comparable": { - "type": "boolean" - }, - "coverage": { - "additionalProperties": false, - "properties": { - "comparedThroughMs": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "status": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status", - "comparedThroughMs" - ], - "type": "object" - }, - "delivery": { - "additionalProperties": false, - "properties": { - "status": { - "enum": [ - "verified", - "limited", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "status" - ], - "type": "object" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMarketingActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "baselineOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "gpcOnlyCount": { - "minimum": 0, - "type": "integer" - }, - "samplesTruncated": { - "type": "boolean" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "sharedCount": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "webStorage": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "type": [ - "boolean", - "null" - ] - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "anyOf": [ - { - "const": "1", - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - }, - "responseBasis": { - "enum": [ - "qualified_activity_reduction", - "no_qualified_reduction", - "insufficient_evidence" - ], - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "contractVersion": { - "enum": [ - "certscore.gpc-response-assessment.v1", - "certscore.gpc-response-assessment.v2" - ], - "type": "string" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2", + "certscore.gpc-response-assessment.v3" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "observation": { + "additionalProperties": false, + "properties": { + "acknowledgment": { + "additionalProperties": false, + "properties": { + "captureComplete": { + "type": "boolean" + }, + "observed": { + "type": "boolean" + } + }, + "required": [ + "observed", + "captureComplete" + ], + "type": "object" + }, + "contractVersion": { + "const": "certscore.gpc-bounded-observation.v1", + "type": "string" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "fullContextVerified": { + "type": "boolean" + }, + "httpHeaderRetained": { + "type": "boolean" + }, + "mainNavigatorReadbackRetained": { + "type": "boolean" + } + }, + "required": [ + "httpHeaderRetained", + "mainNavigatorReadbackRetained", + "fullContextVerified" + ], + "type": "object" + }, + "documentUrlSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 32, + "type": "array" + }, + "registration": { + "additionalProperties": false, + "properties": { + "basis": { + "const": "current_recorded_state", + "type": "string" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "cmpGpcSignal": { + "enum": [ + "received", + "not_received", + "unknown" + ], + "type": "string" + }, + "sale": { + "enum": [ + "opted_out", + "not_opted_out", + "unknown" + ], + "type": "string" + }, + "sharing": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/registration/properties/sale" + } + }, + "required": [ + "basis", + "sale", + "sharing", + "cmpGpcSignal", + "causedByGpc" + ], + "type": "object" + }, + "requests": { + "additionalProperties": false, + "properties": { + "blockedBeforeTransmissionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "classifiedCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "collectionCount": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + "complete": { + "type": "boolean" + }, + "count": { + "minimum": 0, + "type": "integer" + }, + "documentCommittedAtMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "evidenceIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "fromMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + }, + "samplesTruncated": { + "type": "boolean" + }, + "throughMs": { + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/observation/properties/requests/properties/count" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "count", + "blockedBeforeTransmissionCount", + "complete", + "fromMs", + "documentCommittedAtMs", + "throughMs", + "classifiedCount", + "collectionCount", + "evidenceIds", + "samplesTruncated" + ], + "type": "object" + }, + "scope": { + "const": "main_document_and_retained_http_requests", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "semanticProbe": { + "enum": [ + "observed", + "unsupported", + "unavailable", + "not_ready", + "invalid", + "incomplete" + ], + "type": "string" + }, + "sessionSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "sourceSha256": { + "anyOf": [ + { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "contractVersion", + "scope", + "status", + "sourceSha256", + "sessionSha256", + "documentUrlSha256", + "delivery", + "semanticProbe", + "registration", + "acknowledgment", + "requests", + "limitationKeys", + "scoreEffect", + "legalInterpretation" + ], + "type": "object" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
3 tool updates
- Changed
certscore_get_scan_bundle1 field changed- changed
Output schema / properties / error / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "field": { - "type": "string" - }, - "mcpCode": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "recommendedNextAction": { - "type": "string" - }, - "responseBody": {}, - "retryAfterSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "retryable": { - "type": "boolean" - }, - "status": { - "type": "integer" - } - }, - "required": [ - "code", - "message", - "retryable", - "retryAfterSeconds", - "recommendedNextAction" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "field": { + "type": "string" + }, + "issues": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "maxLength": 80, + "type": "string" + }, + "field": { + "maxLength": 80, + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "field", + "code" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array" + }, + "mcpCode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "recommendedNextAction": { + "type": "string" + }, + "responseBody": {}, + "retryAfterSeconds": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "integer" + } + }, + "required": [ + "code", + "message", + "retryable", + "retryAfterSeconds", + "recommendedNextAction" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status1 field changed- changed
Output schema / properties / error / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "field": { - "type": "string" - }, - "mcpCode": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "recommendedNextAction": { - "type": "string" - }, - "responseBody": {}, - "retryAfterSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "retryable": { - "type": "boolean" - }, - "status": { - "type": "integer" - } - }, - "required": [ - "code", - "message", - "retryable", - "retryAfterSeconds", - "recommendedNextAction" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "field": { + "type": "string" + }, + "issues": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "maxLength": 80, + "type": "string" + }, + "field": { + "maxLength": 80, + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "field", + "code" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array" + }, + "mcpCode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "recommendedNextAction": { + "type": "string" + }, + "responseBody": {}, + "retryAfterSeconds": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "integer" + } + }, + "required": [ + "code", + "message", + "retryable", + "retryAfterSeconds", + "recommendedNextAction" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site1 field changed- changed
Output schema / properties / error / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "field": { - "type": "string" - }, - "mcpCode": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "recommendedNextAction": { - "type": "string" - }, - "responseBody": {}, - "retryAfterSeconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "retryable": { - "type": "boolean" - }, - "status": { - "type": "integer" - } - }, - "required": [ - "code", - "message", - "retryable", - "retryAfterSeconds", - "recommendedNextAction" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "field": { + "type": "string" + }, + "issues": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "maxLength": 80, + "type": "string" + }, + "field": { + "maxLength": 80, + "type": "string" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "field", + "code" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array" + }, + "mcpCode": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "recommendedNextAction": { + "type": "string" + }, + "responseBody": {}, + "retryAfterSeconds": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "integer" + } + }, + "required": [ + "code", + "message", + "retryable", + "retryAfterSeconds", + "recommendedNextAction" + ], + "type": "object" + }, + { + "type": "null" + } +]
3 tool updates
- Changed
certscore_get_scan_bundle1 field changed- changed
Output schema / properties / noGo / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "evidenceExcerpt": { - "maxLength": 360, - "type": "string" - }, - "explanation": { - "type": "string" - }, - "limitationKind": { - "enum": [ - "target_site_state", - "scanner_access_limitation", - "scanner_capture_limitation" - ], - "type": "string" - }, - "reasonCode": { - "enum": [ - "blank_or_unusable_page", - "loading_or_stalled", - "not_found_404", - "parked_or_placeholder", - "site_not_ready", - "captcha_or_challenge", - "access_denied_or_forbidden_page", - "rate_limited_429", - "server_error_5xx", - "configuration_error", - "maintenance_or_unavailable", - "tls_or_certificate_error", - "unsupported_region", - "target_unreachable_or_unsuitable", - "navigation_transport_failure", - "visual_capture_failed_or_placeholder", - "retained_visual_error_shell", - "unknown" - ], - "type": "string" - }, - "recommendedNextAction": { - "type": "string" - }, - "retryLikelyToHelp": { - "type": "boolean" - }, - "summary": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": [ - "reasonCode", - "title", - "explanation", - "summary", - "limitationKind", - "recommendedNextAction", - "retryLikelyToHelp" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "evidenceExcerpt": { + "maxLength": 360, + "type": "string" + }, + "explanation": { + "type": "string" + }, + "limitationKind": { + "enum": [ + "target_site_state", + "scanner_access_limitation", + "scanner_capture_limitation" + ], + "type": "string" + }, + "reasonCode": { + "enum": [ + "blank_or_unusable_page", + "loading_or_stalled", + "not_found_404", + "parked_or_placeholder", + "site_not_ready", + "captcha_or_challenge", + "access_denied_or_forbidden_page", + "authentication_required", + "rate_limited_429", + "server_error_5xx", + "configuration_error", + "maintenance_or_unavailable", + "tls_or_certificate_error", + "unsupported_region", + "target_unreachable_or_unsuitable", + "navigation_transport_failure", + "visual_capture_failed_or_placeholder", + "retained_visual_error_shell", + "unknown" + ], + "type": "string" + }, + "recommendedNextAction": { + "type": "string" + }, + "retryLikelyToHelp": { + "type": "boolean" + }, + "summary": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "reasonCode", + "title", + "explanation", + "summary", + "limitationKind", + "recommendedNextAction", + "retryLikelyToHelp" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status1 field changed- changed
Output schema / properties / noGo / properties / reasonCode / enumPrevious value: -[ - "blank_or_unusable_page", - "loading_or_stalled", - "not_found_404", - "parked_or_placeholder", - "site_not_ready", - "captcha_or_challenge", - "access_denied_or_forbidden_page", - "rate_limited_429", - "server_error_5xx", - "configuration_error", - "maintenance_or_unavailable", - "tls_or_certificate_error", - "unsupported_region", - "target_unreachable_or_unsuitable", - "navigation_transport_failure", - "visual_capture_failed_or_placeholder", - "retained_visual_error_shell", - "unknown" -]New value: +[ + "blank_or_unusable_page", + "loading_or_stalled", + "not_found_404", + "parked_or_placeholder", + "site_not_ready", + "captcha_or_challenge", + "access_denied_or_forbidden_page", + "authentication_required", + "rate_limited_429", + "server_error_5xx", + "configuration_error", + "maintenance_or_unavailable", + "tls_or_certificate_error", + "unsupported_region", + "target_unreachable_or_unsuitable", + "navigation_transport_failure", + "visual_capture_failed_or_placeholder", + "retained_visual_error_shell", + "unknown" +]
- Changed
certscore_scan_site2 fields changed- added
Input schema / properties / taskContextAdded value: +{ + "additionalProperties": false, + "description": "Optional caller-declared purpose and integration ID/version for usage research. Only include questionSummary when the user knowingly agrees to share a brief non-sensitive question for product improvement; label user_wording or agent_paraphrase. Never include chat history, personal/account details, secrets or URLs. Omission does not affect scanning.", + "properties": { + "integrationId": { + "maxLength": 80, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "integrationVersion": { + "$ref": "#/properties/taskContext/properties/integrationId" + }, + "purpose": { + "enum": [ + "prelaunch_review", + "vendor_review", + "tracking_check", + "consent_gpc_check", + "policy_review", + "recheck", + "other", + "unknown" + ], + "type": "string" + }, + "questionSource": { + "enum": [ + "user_wording", + "agent_paraphrase" + ], + "type": "string" + }, + "questionSummary": { + "maxLength": 300, + "minLength": 1, + "type": "string" + }, + "shareForImprovement": { + "type": "boolean" + }, + "skillVersion": { + "$ref": "#/properties/taskContext/properties/integrationId" + } + }, + "type": "object" +} - changed
Output schema / properties / noGo / properties / reasonCode / enumPrevious value: -[ - "blank_or_unusable_page", - "loading_or_stalled", - "not_found_404", - "parked_or_placeholder", - "site_not_ready", - "captcha_or_challenge", - "access_denied_or_forbidden_page", - "rate_limited_429", - "server_error_5xx", - "configuration_error", - "maintenance_or_unavailable", - "tls_or_certificate_error", - "unsupported_region", - "target_unreachable_or_unsuitable", - "navigation_transport_failure", - "visual_capture_failed_or_placeholder", - "retained_visual_error_shell", - "unknown" -]New value: +[ + "blank_or_unusable_page", + "loading_or_stalled", + "not_found_404", + "parked_or_placeholder", + "site_not_ready", + "captcha_or_challenge", + "access_denied_or_forbidden_page", + "authentication_required", + "rate_limited_429", + "server_error_5xx", + "configuration_error", + "maintenance_or_unavailable", + "tls_or_certificate_error", + "unsupported_region", + "target_unreachable_or_unsuitable", + "navigation_transport_failure", + "visual_capture_failed_or_placeholder", + "retained_visual_error_shell", + "unknown" +]
2 tool updates
- Changed
certscore_get_scan_status2 fields changed- added
Output schema / properties / preConsentPreview / properties / resourcesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "anyOf": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ] + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "kind": { + "enum": [ + "request", + "embed" + ], + "type": "string" + }, + "observedAtMs": { + "minimum": 0, + "type": "integer" + }, + "party": { + "enum": [ + "first_party", + "third_party", + "mixed", + "unknown" + ], + "type": "string" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "requestCount": { + "minimum": 0, + "type": "integer" + }, + "vendor": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "kind", + "vendor", + "product", + "purpose", + "confidence", + "domains", + "party", + "observedAtMs", + "requestCount" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" +} - added
Output schema / properties / preConsentPreview / properties / truncated / properties / resourcesAdded value: +{ + "type": "boolean" +}
- Changed
certscore_scan_site2 fields changed- added
Output schema / properties / preConsentPreview / properties / resourcesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "anyOf": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ] + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "kind": { + "enum": [ + "request", + "embed" + ], + "type": "string" + }, + "observedAtMs": { + "minimum": 0, + "type": "integer" + }, + "party": { + "enum": [ + "first_party", + "third_party", + "mixed", + "unknown" + ], + "type": "string" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "requestCount": { + "minimum": 0, + "type": "integer" + }, + "vendor": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "kind", + "vendor", + "product", + "purpose", + "confidence", + "domains", + "party", + "observedAtMs", + "requestCount" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" +} - added
Output schema / properties / preConsentPreview / properties / truncated / properties / resourcesAdded value: +{ + "type": "boolean" +}
3 tool updates
- Changed
certscore_get_scan_bundle1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "comparable": { - "type": "boolean" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "const": true, - "type": "boolean" - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "const": "1", - "type": "string" - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "comparable": { - "type": "boolean" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "const": true, - "type": "boolean" - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "const": "1", - "type": "string" - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site1 field changed- changed
Output schema / properties / gpcResponse / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "californiaPolicy": { - "additionalProperties": false, - "properties": { - "applied": { - "type": "boolean" - }, - "deductionPoints": { - "enum": [ - 0, - 15 - ], - "type": "number" - } - }, - "required": [ - "applied", - "deductionPoints" - ], - "type": "object" - }, - "comparison": { - "additionalProperties": false, - "properties": { - "baselineArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "runtime_evidence", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "comparable": { - "type": "boolean" - }, - "deltas": { - "additionalProperties": false, - "properties": { - "advertisingOrMeasurementActivity": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "consentOrCmpBehavior": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - }, - "cookies": { - "additionalProperties": false, - "properties": { - "baselineCount": { - "minimum": 0, - "type": "integer" - }, - "baselineOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "countDelta": { - "type": "integer" - }, - "gpcCount": { - "minimum": 0, - "type": "integer" - }, - "gpcOnly": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "shared": { - "items": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - } - }, - "required": [ - "baselineCount", - "gpcCount", - "countDelta", - "baselineOnly", - "gpcOnly", - "shared" - ], - "type": "object" - }, - "trackers": { - "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" - } - }, - "required": [ - "cookies", - "trackers", - "advertisingOrMeasurementActivity", - "consentOrCmpBehavior" - ], - "type": "object" - }, - "enabledProof": { - "additionalProperties": false, - "properties": { - "navigatorGlobalPrivacyControl": { - "const": true, - "type": "boolean" - }, - "requestEventIds": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 100, - "type": "array" - }, - "requestsWithSecGpc": { - "minimum": 0, - "type": "integer" - }, - "secGpcHeaderValue": { - "const": "1", - "type": "string" - } - }, - "required": [ - "secGpcHeaderValue", - "requestsWithSecGpc", - "requestEventIds", - "navigatorGlobalPrivacyControl" - ], - "type": "object" - }, - "gpcArtifact": { - "additionalProperties": false, - "properties": { - "lane": { - "const": "gpc_observation", - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "sizeBytes": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "lane", - "sha256", - "sizeBytes" - ], - "type": "object" - }, - "limitationKeys": { - "items": { - "maxLength": 160, - "minLength": 1, - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "protocol": { - "const": "passive_baseline_with_sec_gpc", - "type": "string" - } - }, - "required": [ - "comparable", - "protocol", - "baselineArtifact", - "gpcArtifact", - "enabledProof", - "deltas", - "limitationKeys" - ], - "type": "object" - }, - "evidenceUrl": { - "format": "uri", - "type": "string" - }, - "findingTitle": { - "enum": [ - "GPC response", - "No observable GPC response" - ], - "type": "string" - }, - "legalInterpretation": { - "const": "not_assessed", - "type": "string" - }, - "scoreEffect": { - "const": "none", - "type": "string" - }, - "status": { - "enum": [ - "responsive", - "no_observable_response", - "indeterminate" - ], - "type": "string" - }, - "summary": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "status", - "findingTitle", - "summary", - "scoreEffect", - "legalInterpretation", - "comparison", - "californiaPolicy", - "evidenceUrl" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "comparable": { + "type": "boolean" + }, + "coverage": { + "additionalProperties": false, + "properties": { + "comparedThroughMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status", + "comparedThroughMs" + ], + "type": "object" + }, + "delivery": { + "additionalProperties": false, + "properties": { + "status": { + "enum": [ + "verified", + "limited", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMarketingActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "baselineOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "gpcOnlyCount": { + "minimum": 0, + "type": "integer" + }, + "samplesTruncated": { + "type": "boolean" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "sharedCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "webStorage": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "type": [ + "boolean", + "null" + ] + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "anyOf": [ + { + "const": "1", + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + }, + "responseBasis": { + "enum": [ + "qualified_activity_reduction", + "no_qualified_reduction", + "insufficient_evidence" + ], + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "contractVersion": { + "enum": [ + "certscore.gpc-response-assessment.v1", + "certscore.gpc-response-assessment.v2" + ], + "type": "string" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
1 tool update
- Changed
certscore_get_scan_bundle3 fields changed- added
Output schema / properties / fullReport / properties / gpcResponseAdded value: +{ + "anyOf": [ + { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / fullReport / properties / postAcceptObservationAdded value: +{ + "anyOf": [ + { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / fullReport / properties / postRefusalObservationAdded value: +{ + "anyOf": [ + { + "$ref": "#/properties/postRefusalObservation/anyOf/0/anyOf/1/anyOf/0" + }, + { + "type": "null" + } + ] +}
3 tool updates
- Changed
certscore_get_scan_bundle3 fields changed- added
Output schema / properties / gpcResponseAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "comparable": { + "type": "boolean" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "const": true, + "type": "boolean" + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "const": "1", + "type": "string" + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / postAcceptObservationAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / postRefusalObservation / anyOfPrevious value: -[ - { - "anyOf": [ - { - "not": {} - }, - { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "completedAt": { - "type": [ - "string", - "null" - ] - }, - "coverageLimitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "interpretation": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "limitations": { - "items": { - "type": "string" - }, - "maxItems": 24, - "type": "array" - }, - "observationCount": { - "minimum": 0, - "type": "integer" - }, - "observationStrategy": { - "enum": [ - "stop_on_first_eligible_activity", - "not_applicable" - ], - "type": "string" - }, - "productionProjectable": { - "type": "boolean" - }, - "refusalExercised": { - "type": "boolean" - }, - "status": { - "enum": [ - "confirmed_observation", - "confirmed_clean", - "unconfirmed", - "not_attempted", - "unsupported", - "aborted" - ], - "type": "string" - }, - "termination": { - "additionalProperties": false, - "properties": { - "intentional": { - "type": "boolean" - }, - "kind": { - "enum": [ - "evidence_satisfied", - "window_elapsed", - "unavailable" - ], - "type": "string" - }, - "trigger": { - "enum": [ - "non_essential_request_observed", - "non_essential_storage_write_observed", - "refusal_signal_contradiction_observed", - "window_elapsed", - "reject_path_timeout", - "worker_failed", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "kind", - "intentional", - "trigger" - ], - "type": "object" - }, - "verdict": { - "enum": [ - "eligible_nonessential_activity_observed_after_confirmed_refusal", - "retained_consent_signal_contradiction_observed_after_confirmed_refusal", - "no_eligible_nonessential_activity_observed_during_completed_window", - "no_confirmed_post_refusal_verdict" - ], - "type": "string" - } - }, - "required": [ - "status", - "refusalExercised", - "observationCount", - "productionProjectable", - "verdict", - "interpretation", - "observationStrategy", - "termination", - "completedAt", - "coverageLimitations", - "limitations" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - ] - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status3 fields changed- added
Output schema / properties / gpcResponseAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "comparable": { + "type": "boolean" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "const": true, + "type": "boolean" + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "const": "1", + "type": "string" + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / postAcceptObservationAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / postRefusalObservationAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +}
- Changed
certscore_scan_site3 fields changed- added
Output schema / properties / gpcResponseAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "californiaPolicy": { + "additionalProperties": false, + "properties": { + "applied": { + "type": "boolean" + }, + "deductionPoints": { + "enum": [ + 0, + 15 + ], + "type": "number" + } + }, + "required": [ + "applied", + "deductionPoints" + ], + "type": "object" + }, + "comparison": { + "additionalProperties": false, + "properties": { + "baselineArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "runtime_evidence", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "comparable": { + "type": "boolean" + }, + "deltas": { + "additionalProperties": false, + "properties": { + "advertisingOrMeasurementActivity": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "consentOrCmpBehavior": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + }, + "cookies": { + "additionalProperties": false, + "properties": { + "baselineCount": { + "minimum": 0, + "type": "integer" + }, + "baselineOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "countDelta": { + "type": "integer" + }, + "gpcCount": { + "minimum": 0, + "type": "integer" + }, + "gpcOnly": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "shared": { + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + } + }, + "required": [ + "baselineCount", + "gpcCount", + "countDelta", + "baselineOnly", + "gpcOnly", + "shared" + ], + "type": "object" + }, + "trackers": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/comparison/properties/deltas/properties/cookies" + } + }, + "required": [ + "cookies", + "trackers", + "advertisingOrMeasurementActivity", + "consentOrCmpBehavior" + ], + "type": "object" + }, + "enabledProof": { + "additionalProperties": false, + "properties": { + "navigatorGlobalPrivacyControl": { + "const": true, + "type": "boolean" + }, + "requestEventIds": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 100, + "type": "array" + }, + "requestsWithSecGpc": { + "minimum": 0, + "type": "integer" + }, + "secGpcHeaderValue": { + "const": "1", + "type": "string" + } + }, + "required": [ + "secGpcHeaderValue", + "requestsWithSecGpc", + "requestEventIds", + "navigatorGlobalPrivacyControl" + ], + "type": "object" + }, + "gpcArtifact": { + "additionalProperties": false, + "properties": { + "lane": { + "const": "gpc_observation", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "sizeBytes": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "lane", + "sha256", + "sizeBytes" + ], + "type": "object" + }, + "limitationKeys": { + "items": { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "protocol": { + "const": "passive_baseline_with_sec_gpc", + "type": "string" + } + }, + "required": [ + "comparable", + "protocol", + "baselineArtifact", + "gpcArtifact", + "enabledProof", + "deltas", + "limitationKeys" + ], + "type": "object" + }, + "evidenceUrl": { + "format": "uri", + "type": "string" + }, + "findingTitle": { + "enum": [ + "GPC response", + "No observable GPC response" + ], + "type": "string" + }, + "legalInterpretation": { + "const": "not_assessed", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "status": { + "enum": [ + "responsive", + "no_observable_response", + "indeterminate" + ], + "type": "string" + }, + "summary": { + "maxLength": 2000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "status", + "findingTitle", + "summary", + "scoreEffect", + "legalInterpretation", + "comparison", + "californiaPolicy", + "evidenceUrl" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / postAcceptObservationAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "acceptanceExercised": { + "type": "boolean" + }, + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "acceptance_signal_contradiction_observed", + "window_elapsed", + "accept_control_not_observed", + "accept_path_timeout", + "accept_observation_window_truncated", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_acceptance", + "retained_consent_signal_contradiction_observed_after_confirmed_acceptance", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_accept_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "acceptanceExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / postRefusalObservationAdded value: +{ + "anyOf": [ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "coverageLimitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "evidenceDisposition": { + "enum": [ + "confirmed", + "indeterminate" + ], + "type": "string" + }, + "indeterminateReason": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "interpretation": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "limitations": { + "items": { + "type": "string" + }, + "maxItems": 24, + "type": "array" + }, + "observationCount": { + "minimum": 0, + "type": "integer" + }, + "observationStrategy": { + "enum": [ + "stop_on_first_eligible_activity", + "not_applicable" + ], + "type": "string" + }, + "productionProjectable": { + "type": "boolean" + }, + "refusalExercised": { + "type": "boolean" + }, + "status": { + "enum": [ + "confirmed_observation", + "confirmed_clean", + "unconfirmed", + "not_attempted", + "unsupported", + "aborted" + ], + "type": "string" + }, + "termination": { + "additionalProperties": false, + "properties": { + "intentional": { + "type": "boolean" + }, + "kind": { + "enum": [ + "evidence_satisfied", + "window_elapsed", + "unavailable" + ], + "type": "string" + }, + "trigger": { + "enum": [ + "non_essential_request_observed", + "non_essential_storage_write_observed", + "refusal_signal_contradiction_observed", + "window_elapsed", + "reject_path_timeout", + "worker_failed", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "kind", + "intentional", + "trigger" + ], + "type": "object" + }, + "verdict": { + "enum": [ + "eligible_nonessential_activity_observed_after_confirmed_refusal", + "retained_consent_signal_contradiction_observed_after_confirmed_refusal", + "no_eligible_nonessential_activity_observed_during_completed_window", + "no_confirmed_post_refusal_verdict" + ], + "type": "string" + } + }, + "required": [ + "status", + "refusalExercised", + "observationCount", + "productionProjectable", + "evidenceDisposition", + "indeterminateReason", + "verdict", + "interpretation", + "observationStrategy", + "termination", + "completedAt", + "coverageLimitations", + "limitations" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + ] + }, + { + "type": "null" + } + ] +}
1 tool update
- Changed
certscore_scan_site2 fields changed- changed
Input schema / properties / freshness / descriptionPrevious value: -"Prefer latest for ordinary website checks so an eligible recent completed scan can be reused and new-scan allowance is not consumed unnecessarily; CertScore may still start a scan when no suitable result exists. Use refresh only when the user explicitly requests a fresh, new, or repeated scan; ordinary check, scan, audit, inspect, review, or assess wording alone does not request refresh."New value: +"Scan freshness policy. latest allows eligible recent completed-result reuse when available; refresh requests a new scan. Defaults to latest." - changed
Input schema / properties / scanFrom / descriptionPrevious value: -"Optional execution region for a newly queued scan. Omit when the user did not request a jurisdiction or regional perspective; use eu_de or eu_ie for explicit EU/GDPR/ePrivacy requests and california for explicit California/CCPA/CPRA requests. Do not use multiple regions unless comparison is requested, and do not infer EU from consent or California from a U.S. user location."New value: +"Optional execution region for a newly queued scan: eu_de, eu_ie, california, or the service default when omitted."
3 tool updates
- Changed
certscore_get_scan_bundle2 fields changed- added
Output schema / properties / preConsentCookiesTrackers / properties / summary / properties / trackerCategoryCountsAdded value: +{ + "additionalProperties": false, + "properties": { + "advertising": { + "minimum": 0, + "type": "integer" + }, + "analytics": { + "minimum": 0, + "type": "integer" + }, + "essential": { + "minimum": 0, + "type": "integer" + }, + "functional": { + "minimum": 0, + "type": "integer" + }, + "review": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "advertising", + "analytics", + "essential", + "functional", + "review" + ], + "type": "object" +} - added
Output schema / properties / preConsentCookiesTrackers / properties / summary / properties / trackerCountScopeAdded value: +{ + "const": "canonical_inventory_rows_including_operational", + "type": "string" +}
- Changed
certscore_get_scan_status1 field changed- added
Output schema / properties / preConsentPreviewAdded value: +{ + "additionalProperties": false, + "properties": { + "cookies": { + "items": { + "additionalProperties": false, + "properties": { + "domain": { + "anyOf": [ + { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "essentiality": { + "enum": [ + "essential", + "non_essential", + "unknown" + ], + "type": "string" + }, + "name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "observedAtMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "party": { + "enum": [ + "first_party", + "third_party", + "unknown" + ], + "type": "string" + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "name", + "domain", + "party", + "purpose", + "essentiality", + "observedAtMs" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "final": { + "const": false, + "type": "boolean" + }, + "generatedAt": { + "format": "date-time", + "type": "string" + }, + "mustContinuePolling": { + "const": true, + "type": "boolean" + }, + "observationOnlyDisclaimer": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "operationalVendors": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + }, + "vendor": { + "maxLength": 160, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "vendor", + "product", + "purpose", + "confidence", + "domains" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "resultStage": { + "const": "preliminary", + "type": "string" + }, + "runtimeCoverage": { + "additionalProperties": false, + "properties": { + "limitationKeys": { + "items": { + "maxLength": 120, + "minLength": 1, + "type": "string" + }, + "maxItems": 16, + "type": "array" + }, + "status": { + "enum": [ + "usable", + "limited_partial", + "limited_none", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "limitationKeys" + ], + "type": "object" + }, + "sourceLane": { + "const": "runtime_evidence", + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "cookieCount": { + "minimum": 0, + "type": "integer" + }, + "operationalVendorCount": { + "minimum": 0, + "type": "integer" + }, + "returnedCookieCount": { + "minimum": 0, + "type": "integer" + }, + "returnedOperationalVendorCount": { + "minimum": 0, + "type": "integer" + }, + "returnedTrackingVendorCount": { + "minimum": 0, + "type": "integer" + }, + "thirdPartyRequestCount": { + "minimum": 0, + "type": "integer" + }, + "trackerCount": { + "minimum": 0, + "type": "integer" + }, + "trackingVendorCount": { + "minimum": 0, + "type": "integer" + }, + "vendorCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cookieCount", + "trackerCount", + "thirdPartyRequestCount", + "vendorCount" + ], + "type": "object" + }, + "trackers": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + }, + "vendor": { + "maxLength": 160, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "vendor", + "product", + "purpose", + "confidence", + "domains" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "truncated": { + "additionalProperties": false, + "properties": { + "cookies": { + "type": "boolean" + }, + "operationalVendors": { + "type": "boolean" + }, + "trackers": { + "type": "boolean" + } + }, + "required": [ + "cookies", + "trackers" + ], + "type": "object" + }, + "type": { + "const": "certscore_pre_consent_preview", + "type": "string" + } + }, + "required": [ + "type", + "resultStage", + "final", + "sourceLane", + "generatedAt", + "runtimeCoverage", + "summary", + "cookies", + "trackers", + "truncated", + "mustContinuePolling", + "observationOnlyDisclaimer" + ], + "type": "object" +}
- Changed
certscore_scan_site3 fields changed- changed
Input schema / properties / maxWaitSeconds / descriptionPrevious value: -"Deprecated compatibility field; accepted but ignored because certscore_scan_site does not wait for scan completion."New value: +"Deprecated compatibility field; accepted but ignored. The bounded preliminary-preview wait is controlled by CertScore and never waits for scan completion." - changed
Input schema / properties / waitForCompletion / descriptionPrevious value: -"Deprecated compatibility field; accepted but ignored. certscore_scan_site always returns promptly after completed-result reuse or scan creation and never waits for a new scan to finish."New value: +"Deprecated compatibility field; accepted but ignored. certscore_scan_site never waits for a new scan to finish, though MCP Light may briefly wait within a bounded preview window for preliminary pre-consent observations." - added
Output schema / properties / preConsentPreviewAdded value: +{ + "additionalProperties": false, + "properties": { + "cookies": { + "items": { + "additionalProperties": false, + "properties": { + "domain": { + "anyOf": [ + { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "essentiality": { + "enum": [ + "essential", + "non_essential", + "unknown" + ], + "type": "string" + }, + "name": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "observedAtMs": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "party": { + "enum": [ + "first_party", + "third_party", + "unknown" + ], + "type": "string" + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "name", + "domain", + "party", + "purpose", + "essentiality", + "observedAtMs" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "final": { + "const": false, + "type": "boolean" + }, + "generatedAt": { + "format": "date-time", + "type": "string" + }, + "mustContinuePolling": { + "const": true, + "type": "boolean" + }, + "observationOnlyDisclaimer": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "operationalVendors": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + }, + "vendor": { + "maxLength": 160, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "vendor", + "product", + "purpose", + "confidence", + "domains" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "resultStage": { + "const": "preliminary", + "type": "string" + }, + "runtimeCoverage": { + "additionalProperties": false, + "properties": { + "limitationKeys": { + "items": { + "maxLength": 120, + "minLength": 1, + "type": "string" + }, + "maxItems": 16, + "type": "array" + }, + "status": { + "enum": [ + "usable", + "limited_partial", + "limited_none", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "limitationKeys" + ], + "type": "object" + }, + "sourceLane": { + "const": "runtime_evidence", + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "cookieCount": { + "minimum": 0, + "type": "integer" + }, + "operationalVendorCount": { + "minimum": 0, + "type": "integer" + }, + "returnedCookieCount": { + "minimum": 0, + "type": "integer" + }, + "returnedOperationalVendorCount": { + "minimum": 0, + "type": "integer" + }, + "returnedTrackingVendorCount": { + "minimum": 0, + "type": "integer" + }, + "thirdPartyRequestCount": { + "minimum": 0, + "type": "integer" + }, + "trackerCount": { + "minimum": 0, + "type": "integer" + }, + "trackingVendorCount": { + "minimum": 0, + "type": "integer" + }, + "vendorCount": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "cookieCount", + "trackerCount", + "thirdPartyRequestCount", + "vendorCount" + ], + "type": "object" + }, + "trackers": { + "items": { + "additionalProperties": false, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "domains": { + "items": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "product": { + "anyOf": [ + { + "maxLength": 160, + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "purpose": { + "enum": [ + "analytics", + "advertising", + "marketing", + "personalization", + "session_replay", + "consent_management", + "tag_management", + "infrastructure", + "security", + "performance_monitoring", + "customer_support", + "unknown" + ], + "type": "string" + }, + "vendor": { + "maxLength": 160, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "vendor", + "product", + "purpose", + "confidence", + "domains" + ], + "type": "object" + }, + "maxItems": 20, + "type": "array" + }, + "truncated": { + "additionalProperties": false, + "properties": { + "cookies": { + "type": "boolean" + }, + "operationalVendors": { + "type": "boolean" + }, + "trackers": { + "type": "boolean" + } + }, + "required": [ + "cookies", + "trackers" + ], + "type": "object" + }, + "type": { + "const": "certscore_pre_consent_preview", + "type": "string" + } + }, + "required": [ + "type", + "resultStage", + "final", + "sourceLane", + "generatedAt", + "runtimeCoverage", + "summary", + "cookies", + "trackers", + "truncated", + "mustContinuePolling", + "observationOnlyDisclaimer" + ], + "type": "object" +}
Related MCP Connectors
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
Cookie consent scanner: GDPR, CCPA, GCMv2. PASS/FAIL compliance checklists with fix recommendations.
Security, SEO and AI-visibility scanner for web apps · free scans and focused checks via MCP.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides AI-visibility scoring and site auditing capabilities for websites, enabling agents to check how sites appear in AI engines like ChatGPT and Perplexity, run full SEO/security audits, and monitor changes over time.15505 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides trust infrastructure for AI agents by enabling reputation lookup, website trust scanning, and identity verification via MCP tools.1-
- AlicenseNot gradedqualityBmaintenanceWebsite Intelligence MCP Server exposes 10 tools for web scraping and analysis, enabling AI agents to convert URLs to Markdown, extract metadata, detect technologies, find contacts, and perform SEO checks. It wraps a REST API and supports optional API keys.MIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents tools to inspect a website's visibility to AI answer engines, including crawler permissions, llms.txt, structured data, on-page signals, and a full 29-check AI-readiness audit.521 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.