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
- Uptime
- 99.6% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools have distinct roles: scanning (certscore_scan_site), polling progress (certscore_get_scan_status), retrieving the canonical summary (certscore_get_scan_bundle), and exhaustive evidence retrieval (certscore_get_report_evidence_page). The boundary between the bundle and evidence page is clear from descriptions, though both are retrieval tools and could blur for an agent if the summary isn't read carefully.
All names share the certscore_ prefix and use a clean verb_noun structure: scan_site, get_scan_status, get_scan_bundle, get_report_evidence_page. The pattern holds throughout, with only minor variation in object depth (e.g., report_evidence_page vs scan_bundle).
Four tools perfectly fit the scan lifecycle: initiate, poll, summarize, and drill into evidence. Each earns its place with no redundant or missing lifecycle stage for the stated purpose.
The lifecycle is well covered: scan creation/reuse, status polling, canonical findings, and detailed evidence retrieval. There is no explicit delete or cancel tool and no dedicated export tool beyond download links embedded in responses, but these are minor gaps agents can work around.
Available Tools
4 toolscertscore_get_report_evidence_pageGet report evidence pageARead-onlyInspect
For a focused question, use section=consent, gpc, policy, tracking, transport or forms. This returns selected retained report sections plus shared scan, score, findings and coverage context. Preserve section on cursor continuation; unselected or not-returned fields are not evidence of absence. Use workpaper=tracking separately for the starting-page tracking inventory, privacy choices/notices and GPC evidence, with JSON and CSV downloads. Never combine section and workpaper. The workpaper selector also applies to every continuation request. Otherwise 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 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 | ||
| section | No | ||
| workpaper | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| scanId | Yes | |
| entries | Yes | |
| section | No | |
| version | Yes | |
| coverage | Yes | |
| download | No | |
| snapshot | Yes | |
| reportUrl | Yes | |
| selection | No | |
| workpaper | No | |
| pagination | Yes | |
| reconstruction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry the safety profile (readOnly, non-destructive), and the description adds substantial operational context beyond them: single-file JSON download, five-minute expiry on private download links, no OAuth header needed for those links, OAuth bearer auth required for snapshot images on workspace scans, snapshot stability across pages, cursor continuation rules, and the caveat 'Export completion is not complete observation coverage.' This is exactly the kind of behavioral disclosure structured fields cannot provide.
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 content is dense and front-loaded with the section/workpaper routing, but the actual purpose statement appears mid-block and the piece runs as a long undifferentiated wall of clauses with no bullets or grouping. Every sentence is arguably useful, yet the absence of structure makes it hard to scan for the one fact an agent needs at a given moment.
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?
An output schema exists, so return-value formatting needn't be explained, and the description instead covers the non-obvious operational facts specific to this complex tool: pagination termination, snapshot restart conditions, JSON Pointer references for repeated records, download link lifetime, and authentication mode per scan type. Nothing an agent needs to invoke it correctly is missing.
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 0%, so the description must carry the burden, and it does: it enumerates the section enum values, explains workpaper=tracking and that it must not be combined with section, notes section must be preserved on cursor continuation, and says to 'Start with scanId' and 'follow pagination.nextCursor until complete.' The one gap is cursor mechanics (maxLength/format) left to the schema, but the semantic coverage is strong.
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 conveys the resource (retained report evidence sections plus shared scan/score/findings/coverage context) delivered as paginated JSON, and distinguishes itself from siblings by naming the 'concise scan bundle' for summaries and stating 'No new scan is created' (vs certscore_scan_site). The core purpose statement is buried mid-paragraph rather than front-loaded, but an agent can still separate this tool from its siblings.
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?
It gives explicit conditional routing: 'For a focused question, use section=consent, gpc, policy...', 'Use workpaper=tracking separately for the starting-page tracking inventory', a hard exclusion ('Never combine section and workpaper'), and a clear alternative ('Use the concise scan bundle for summaries; use this tool for exhaustive report evidence'). When-to-use, when-not, and the sibling alternative are all spelled out.
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
Main answer for a completed or completed-limited scan: canonical findings, next steps, supporting evidence, score, date/region, coverage and report URL. An existing scanId is enough; no new scan is created. The evidence index describes response delivery, never evidence absence. Optional next actions lead to deeper report tables, tracking workpapers and JSON/CSV exports. Use detail=evidence for request examples and policy candidates, including scans with no findings; detail=full adds bounded retained context. Preserve returned/total counts and omission metadata. Accept/Reject execution succeeded means a completed click and bounded observation; succeeded_with_confirmation additionally verifies the consent decision. Retained after-click facts remain distinct from registered decisions. Absent or failed capture remains explicitly limited. Use canonical findings for scoring effects. A later missing finding does not prove a fix. 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 | |
| formsSummary | No | |
| scoreVersion | Yes | |
| scoreUpdatedAt | Yes | |
| evidenceSummary | No | |
| scanTimeSeconds | Yes | |
| findingsMetadata | Yes | |
| reviewNavigation | No | |
| scoreExplanation | No | |
| resultDisposition | No | |
| transportSecurity | Yes | |
| evidenceUrlTemplate | No | |
| privacyAuditSummary | No | |
| recommendedNextTool | Yes | |
| privacyAuditEvidence | No | |
| 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 cover the safety profile (readOnlyHint true, destructive false, openWorld false), so the bar is lower, yet the description still adds real semantics: accept/reject execution states, the distinction between retained after-click facts and registered decisions, what explicit limitation means, and the disclaimer that results are automated observations rather than legal advice. It does not contradict any annotation.
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 content is largely on-topic, but it reads as a run-on of fragmentary caveats ('Absent or failed capture remains explicitly limited.', 'A later missing finding does not prove a fix.') rather than a front-loaded structure. Several sentences would be better grouped under explicit headings, and the trailing legal disclaimer is boilerplate that dilutes the actionable content.
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?
An output schema exists, so return values need not be described, and the description instead covers invocation semantics, detail levels, execution-state interpretation, and limitation caveats — enough for an agent to call a complex bundle-retrieval tool correctly. Only the absence of explicit sibling routing keeps it from being fully complete.
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 3 is the baseline, but the description adds meaning beyond the schema by explaining what detail=evidence actually yields (request examples, policy candidates, scans with no findings) and by instructing the caller to preserve returned/total counts and omission metadata. It does not restate the maxBytes clamping or maxFindings defaults that the schema already documents.
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 concrete verb+resource: it returns the canonical bundle (findings, next steps, evidence, score, coverage, report URL) for an existing completed scan. It also distinguishes itself from certscore_scan_site by asserting 'An existing scanId is enough; no new scan is created.' The purpose is clear, though the dense enumeration of caveats pushes the core statement off the front.
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 conditional guidance for the detail modes ('Use detail=evidence for request examples and policy candidates, including scans with no findings; detail=full adds bounded retained context') and implicitly routes away from certscore_scan_site by noting no new scan is created. It never names a sibling tool explicitly or states when this tool should be skipped, so it stops short of full when/when-not guidance.
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 | |
| formsSummary | No | |
| scoreVersion | No | |
| lastUpdatedAt | No | |
| phaseStartedAt | No | |
| scoreUpdatedAt | No | |
| lastHeartbeatAt | No | |
| progressPercent | No | |
| scanTimeSeconds | No | |
| scoreExplanation | 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 establish readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: heartbeat and retryAfterSeconds signals, the bounded 'preliminary preConsentPreview', and the explicit warning that preliminary observations are distinct from completed findings.
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 core purpose is front-loaded in the first clause, but the bulk of the text is a long enumeration of response fields, which is partly redundant given an output schema exists. The clauses are dense and stacked, and the final sentence about preliminary vs completed findings is the only one that fully earns 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?
For a single-parameter polling tool with an output schema and full annotation coverage, the description supplies the key semantic distinction an agent needs (transient active state vs. terminal result, and that preliminary observations are not final findings). Minor gaps remain around polling cadence and error/expiry handling for an invalid or stale scanId.
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 the single scanId parameter is fully documented in the schema as the value returned by certscore_scan_site. The description adds only the adjective 'stable', which hints at reuse across polling calls but adds little syntax or format meaning, so the baseline 3 applies.
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 states a specific verb and resource ('Returns lifecycle status for a stable CertScore scanId') and enumerates what the status payload contains. It is clearly distinct from scan_site, get_scan_bundle, and get_report_evidence_page in kind, though it never explicitly names or routes away from those siblings.
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 split between 'active responses' and 'terminal responses' plus the presence of retryAfterSeconds and heartbeat fragments suggests a polling workflow, but the description never states when to call this versus the sibling report/bundle tools or when to stop polling. No explicit exclusions or prerequisites are given.
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
Use for a user-requested website launch review, vendor assessment, cookie/tracker inventory, consent/GPC investigation or privacy-policy review. A public URL or domain is enough. Creates a privacy scan or reuses an eligible recent completed scan; default freshness=latest saves new-scan quota. Use refresh only for an explicitly requested fresh scan or post-fix recheck. Retain scanId, poll certscore_get_scan_status only while active at retryAfterSeconds, then read certscore_get_scan_bundle. A preliminary preConsentPreview is not final findings or totals. Coverage includes pre-consent storage, trackers, consent and CMP signals, privacy-policy disclosures, transport security and GDPR/ePrivacy or CCPA/CPRA review signals. Results are automated observations, not legal advice, certification, or a compliance determination. 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. |
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 | |
| formsSummary | No | |
| scoreVersion | No | |
| scoreUpdatedAt | No | |
| scanTimeSeconds | No | |
| demoSubstitution | No | |
| scoreExplanation | 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 mark this as non-read-only, non-idempotent and open-world, and the description adds substantive context beyond them: scan creation versus reuse, quota consumption for fresh scans, an explicit warning that preConsentPreview is preliminary rather than final findings/totals, and a scope disclaimer that results are automated observations, not legal advice or a compliance determination.
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-loaded with the use case and the create-or-reuse behavior, then the workflow chain, then the scope/disclaimer. Dense and largely waste-free, but it runs long enough that the polling instructions and the legal disclaimer sit close to the tail rather than being sharply separated.
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 scan-initiation tool with an output schema, it covers the full lifecycle the caller must know: what it creates or reuses, how to poll, which sibling to read next, what the preliminary preview does and does not mean, and the limits of the findings. Nothing material is missing, and return-value details are correctly left to the output schema.
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 and the schema already carries parameter documentation. The description still adds decision-level meaning for 'freshness' (latest saves quota, refresh only for explicitly requested fresh scans or rechecks), which is more than a restatement, though scanFrom and taskContext get no treatment.
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 opens with a specific purpose set ('website launch review, vendor assessment, cookie/tracker inventory, consent/GPC investigation, privacy-policy review') and a concrete action: creates a privacy scan or reuses a recent completed one. It is clearly distinguished from siblings certscore_get_scan_status and certscore_get_scan_bundle, which it explicitly routes to rather than duplicates.
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?
It states exactly when to call it (user-requested review; a public URL/domain suffices) and when to choose the 'refresh' path versus the default 'latest' (only for an explicitly requested fresh scan or post-fix recheck). It also names the follow-up tools and the polling cadence (retryAfterSeconds), so the agent knows both entry and exit conditions.
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.
3 tool updates
- Changed
certscore_get_scan_bundle1 field changed- changed
Output schema / properties / formsSummary / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "afterAcceptCapture": { - "enum": [ - "retained", - "limited", - "unavailable" - ], - "type": "string" - }, - "afterAcceptObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "contractVersion": { - "const": "certscore.forms-summary.v1", - "type": "string" - }, - "preConsentCapture": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - }, - "preConsentObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "scope": { - "const": "starting_page_reportable_observations", - "type": "string" - }, - "totalObserved": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "contractVersion", - "scope", - "totalObserved", - "preConsentObserved", - "afterAcceptObserved", - "preConsentCapture", - "afterAcceptCapture" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "countStatus": { + "enum": [ + "captured", + "limited", + "not_captured" + ], + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
certscore_get_scan_status1 field changed- changed
Output schema / properties / formsSummary / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "afterAcceptCapture": { - "enum": [ - "retained", - "limited", - "unavailable" - ], - "type": "string" - }, - "afterAcceptObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "contractVersion": { - "const": "certscore.forms-summary.v1", - "type": "string" - }, - "preConsentCapture": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - }, - "preConsentObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "scope": { - "const": "starting_page_reportable_observations", - "type": "string" - }, - "totalObserved": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "contractVersion", - "scope", - "totalObserved", - "preConsentObserved", - "afterAcceptObserved", - "preConsentCapture", - "afterAcceptCapture" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "countStatus": { + "enum": [ + "captured", + "limited", + "not_captured" + ], + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site1 field changed- changed
Output schema / properties / formsSummary / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "afterAcceptCapture": { - "enum": [ - "retained", - "limited", - "unavailable" - ], - "type": "string" - }, - "afterAcceptObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "contractVersion": { - "const": "certscore.forms-summary.v1", - "type": "string" - }, - "preConsentCapture": { - "enum": [ - "complete", - "limited", - "unavailable" - ], - "type": "string" - }, - "preConsentObserved": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "scope": { - "const": "starting_page_reportable_observations", - "type": "string" - }, - "totalObserved": { - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "contractVersion", - "scope", - "totalObserved", - "preConsentObserved", - "afterAcceptObserved", - "preConsentCapture", - "afterAcceptCapture" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "countStatus": { + "enum": [ + "captured", + "limited", + "not_captured" + ], + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } +]
3 tool updates
- Changed
certscore_get_scan_bundle7 fields changed- changed
Output schema / properties / findings / items / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "confidence": { - "enum": [ - "strong", - "good", - "moderate", - "weak", - "unknown" - ], - "type": "string" - }, - "criticality": { - "enum": [ - "critical", - "high", - "medium", - "low", - "info", - "unknown" - ], - "type": "string" - }, - "detail": { - "additionalProperties": true, - "properties": { - "caveats": { - "items": { - "type": "string" - }, - "type": "array" - }, - "recommendedReviewerQuestions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "disclaimer": { - "type": "string" - }, - "evidence": { - "additionalProperties": false, - "properties": { - "authRequiredForExamples": { - "type": "boolean" - }, - "basis": { - "enum": [ - "runtime_observation", - "policy_surface_detection", - "accessibility_check", - "public_report_projection" - ], - "type": "string" - }, - "exampleCount": { - "minimum": 0, - "type": "integer" - }, - "examples": { - "items": { - "additionalProperties": false, - "properties": { - "documentUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "finalUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "frameUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "initiatorHost": { - "anyOf": [ - { - "maxLength": 253, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "initiatorType": { - "anyOf": [ - { - "maxLength": 80, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "initiatorUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "observedAtMs": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "pageContextId": { - "anyOf": [ - { - "maxLength": 120, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "phase": { - "type": [ - "string", - "null" - ] - }, - "projectionWarnings": { - "items": { - "maxLength": 120, - "type": "string" - }, - "maxItems": 12, - "type": "array" - }, - "rawObservedVendor": { - "anyOf": [ - { - "maxLength": 160, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "rawObservedVendorCategory": { - "anyOf": [ - { - "maxLength": 120, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "redirectChain": { - "items": { - "maxLength": 2048, - "type": "string" - }, - "maxItems": 10, - "type": "array" - }, - "registrableDomain": { - "type": [ - "string", - "null" - ] - }, - "relatedOrInitiatingVendor": { - "anyOf": [ - { - "maxLength": 160, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "requestUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "resolvedEndpointVendor": { - "anyOf": [ - { - "maxLength": 160, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "resolvedEndpointVendorCategory": { - "anyOf": [ - { - "maxLength": 120, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "resourceType": { - "anyOf": [ - { - "maxLength": 80, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "scannedPageUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "enum": [ - "request", - "page", - "accessibility_check", - "policy_surface" - ], - "type": "string" - }, - "urlHost": { - "type": [ - "string", - "null" - ] - }, - "vendor": { - "type": [ - "string", - "null" - ] - }, - "vendorAttributionBasis": { - "anyOf": [ - { - "maxLength": 120, - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "maxItems": 5, - "type": "array" - }, - "examplesAvailable": { - "minimum": 0, - "type": "integer" - }, - "examplesShown": { - "minimum": 0, - "type": "integer" - }, - "excerpt": { - "additionalProperties": false, - "properties": { - "evidenceUrl": { - "maxLength": 2048, - "type": "string" - }, - "excerpt": { - "type": "string" - }, - "isTruncated": { - "type": "boolean" - }, - "sourceUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "truncationMarker": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "excerpt", - "isTruncated", - "truncationMarker", - "sourceUrl", - "evidenceUrl" - ], - "type": "object" - }, - "hasConsentContext": { - "type": "boolean" - }, - "hasPolicyAnchor": { - "type": "boolean" - }, - "hasTimingAnchor": { - "type": "boolean" - }, - "hasVendorAnchor": { - "type": "boolean" - }, - "phase": { - "type": [ - "string", - "null" - ] - }, - "projectionWarnings": { - "items": { - "maxLength": 120, - "type": "string" - }, - "maxItems": 20, - "type": "array" - }, - "summary": { - "type": "string" - } - }, - "required": [ - "basis", - "summary", - "exampleCount", - "examplesShown" - ], - "type": "object" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "links": { - "additionalProperties": true, - "properties": { - "docs": { - "type": "string" - }, - "findings": { - "type": "string" - }, - "latestDomainScan": { - "type": "string" - }, - "pulse": { - "type": "string" - }, - "report": { - "type": "string" - }, - "self": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "type": "object" - }, - "nextStep": { - "type": [ - "string", - "null" - ] - }, - "noGo": { - "$ref": "#/properties/noGo/anyOf/0" - }, - "plainEnglish": { - "type": "string" - }, - "resultDisposition": { - "$ref": "#/properties/resultDisposition/anyOf/0" - }, - "reviewLenses": { - "default": [], - "items": { - "type": "string" - }, - "type": "array" - }, - "scanId": { - "type": "string" - }, - "type": { - "const": "certscore_finding", - "type": "string" - } - }, - "required": [ - "type", - "id", - "scanId", - "label", - "criticality", - "confidence", - "plainEnglish", - "evidence" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "confidence": { - "$ref": "#/properties/findings/items/anyOf/0/properties/confidence" - }, - "criticality": { - "$ref": "#/properties/findings/items/anyOf/0/properties/criticality" - }, - "evidenceUrl": { - "anyOf": [ - { - "maxLength": 2048, - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "nextStep": { - "type": "string" - }, - "plainEnglish": { - "type": "string" - }, - "type": { - "const": "certscore_finding", - "type": "string" - } - }, - "required": [ - "type", - "id", - "label", - "criticality", - "confidence", - "plainEnglish" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "confidence": { + "enum": [ + "strong", + "good", + "moderate", + "weak", + "unknown" + ], + "type": "string" + }, + "criticality": { + "enum": [ + "critical", + "high", + "medium", + "low", + "info", + "unknown" + ], + "type": "string" + }, + "detail": { + "additionalProperties": true, + "properties": { + "caveats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "recommendedReviewerQuestions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "disclaimer": { + "type": "string" + }, + "evidence": { + "additionalProperties": false, + "properties": { + "authRequiredForExamples": { + "type": "boolean" + }, + "basis": { + "enum": [ + "runtime_observation", + "policy_surface_detection", + "accessibility_check", + "public_report_projection" + ], + "type": "string" + }, + "exampleCount": { + "minimum": 0, + "type": "integer" + }, + "examples": { + "items": { + "additionalProperties": false, + "properties": { + "documentUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "finalUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "frameUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "initiatorHost": { + "anyOf": [ + { + "maxLength": 253, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "initiatorType": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "initiatorUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "observedAtMs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "pageContextId": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "phase": { + "type": [ + "string", + "null" + ] + }, + "projectionWarnings": { + "items": { + "maxLength": 120, + "type": "string" + }, + "maxItems": 12, + "type": "array" + }, + "rawObservedVendor": { + "anyOf": [ + { + "maxLength": 160, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "rawObservedVendorCategory": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "redirectChain": { + "items": { + "maxLength": 2048, + "type": "string" + }, + "maxItems": 10, + "type": "array" + }, + "registrableDomain": { + "type": [ + "string", + "null" + ] + }, + "relatedOrInitiatingVendor": { + "anyOf": [ + { + "maxLength": 160, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "requestUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "resolvedEndpointVendor": { + "anyOf": [ + { + "maxLength": 160, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "resolvedEndpointVendorCategory": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "resourceType": { + "anyOf": [ + { + "maxLength": 80, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "scannedPageUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "enum": [ + "request", + "page", + "accessibility_check", + "policy_surface" + ], + "type": "string" + }, + "urlHost": { + "type": [ + "string", + "null" + ] + }, + "vendor": { + "type": [ + "string", + "null" + ] + }, + "vendorAttributionBasis": { + "anyOf": [ + { + "maxLength": 120, + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "maxItems": 5, + "type": "array" + }, + "examplesAvailable": { + "minimum": 0, + "type": "integer" + }, + "examplesShown": { + "minimum": 0, + "type": "integer" + }, + "excerpt": { + "additionalProperties": false, + "properties": { + "evidenceUrl": { + "maxLength": 2048, + "type": "string" + }, + "excerpt": { + "type": "string" + }, + "isTruncated": { + "type": "boolean" + }, + "sourceUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "truncationMarker": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "excerpt", + "isTruncated", + "truncationMarker", + "sourceUrl", + "evidenceUrl" + ], + "type": "object" + }, + "hasConsentContext": { + "type": "boolean" + }, + "hasPolicyAnchor": { + "type": "boolean" + }, + "hasTimingAnchor": { + "type": "boolean" + }, + "hasVendorAnchor": { + "type": "boolean" + }, + "phase": { + "type": [ + "string", + "null" + ] + }, + "projectionWarnings": { + "items": { + "maxLength": 120, + "type": "string" + }, + "maxItems": 20, + "type": "array" + }, + "summary": { + "type": "string" + } + }, + "required": [ + "basis", + "summary", + "exampleCount", + "examplesShown" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "links": { + "additionalProperties": true, + "properties": { + "docs": { + "type": "string" + }, + "findings": { + "type": "string" + }, + "formsEvidence": { + "type": "string" + }, + "latestDomainScan": { + "type": "string" + }, + "pulse": { + "type": "string" + }, + "report": { + "type": "string" + }, + "self": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "nextStep": { + "type": [ + "string", + "null" + ] + }, + "noGo": { + "$ref": "#/properties/noGo/anyOf/0" + }, + "plainEnglish": { + "type": "string" + }, + "resultDisposition": { + "$ref": "#/properties/resultDisposition/anyOf/0" + }, + "reviewLenses": { + "default": [], + "items": { + "type": "string" + }, + "type": "array" + }, + "scanId": { + "type": "string" + }, + "type": { + "const": "certscore_finding", + "type": "string" + } + }, + "required": [ + "type", + "id", + "scanId", + "label", + "criticality", + "confidence", + "plainEnglish", + "evidence" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confidence": { + "$ref": "#/properties/findings/items/anyOf/0/properties/confidence" + }, + "criticality": { + "$ref": "#/properties/findings/items/anyOf/0/properties/criticality" + }, + "evidenceUrl": { + "anyOf": [ + { + "maxLength": 2048, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "nextStep": { + "type": "string" + }, + "plainEnglish": { + "type": "string" + }, + "type": { + "const": "certscore_finding", + "type": "string" + } + }, + "required": [ + "type", + "id", + "label", + "criticality", + "confidence", + "plainEnglish" + ], + "type": "object" + } +] - added
Output schema / properties / formsSummaryAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / fullReport / properties / formsSummaryAdded value: +{ + "anyOf": [ + { + "$ref": "#/properties/formsSummary/anyOf/0" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / fullReport / properties / scoreExplanationAdded value: +{ + "anyOf": [ + { + "$ref": "#/properties/scoreExplanation/anyOf/0" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / reviewNavigation / properties / evidenceIndex / items / properties / key / enumPrevious value: -[ - "findings", - "tracking", - "privacy", - "gpc", - "accept", - "reject", - "transport", - "report" -]New value: +[ + "findings", + "tracking", + "privacy", + "gpc", + "accept", + "reject", + "forms", + "transport", + "report" +] - changed
Output schema / properties / reviewNavigation / properties / evidenceIndex / maxItemsPrevious value: -8New value: +9 - added
Output schema / properties / scoreExplanationAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "baseScore": { + "const": 100, + "type": "number" + }, + "contractVersion": { + "const": "certscore.score-explanation.v1", + "type": "string" + }, + "deductions": { + "items": { + "additionalProperties": false, + "properties": { + "deductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "family": { + "maxLength": 80, + "type": "string" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "rules": { + "items": { + "additionalProperties": false, + "properties": { + "decisionVerification": { + "enum": [ + "confirmed", + "unconfirmed", + "not_applicable", + "unknown" + ], + "type": "string" + }, + "findingIds": { + "items": { + "maxLength": 180, + "type": "string" + }, + "maxItems": 4, + "type": "array" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "policyDeductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "ruleId": { + "maxLength": 160, + "type": "string" + } + }, + "required": [ + "ruleId", + "label", + "policyDeductionPoints", + "findingIds", + "decisionVerification" + ], + "type": "object" + }, + "maxItems": 40, + "type": "array" + } + }, + "required": [ + "family", + "label", + "deductionPoints", + "rules" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "policyVersion": { + "maxLength": 120, + "type": "string" + }, + "scope": { + "const": "starting_page_canonical_score", + "type": "string" + }, + "score": { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + "scoreFloor": { + "const": 0, + "type": "number" + }, + "scoreVersion": { + "maxLength": 120, + "type": "string" + }, + "totalPolicyDeductionPoints": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "scoreVersion", + "policyVersion", + "baseScore", + "scoreFloor", + "score", + "totalPolicyDeductionPoints", + "deductions" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
- Changed
certscore_get_scan_status3 fields changed- added
Output schema / properties / formsSummaryAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / links / properties / formsEvidenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / scoreExplanationAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "baseScore": { + "const": 100, + "type": "number" + }, + "contractVersion": { + "const": "certscore.score-explanation.v1", + "type": "string" + }, + "deductions": { + "items": { + "additionalProperties": false, + "properties": { + "deductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "family": { + "maxLength": 80, + "type": "string" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "rules": { + "items": { + "additionalProperties": false, + "properties": { + "decisionVerification": { + "enum": [ + "confirmed", + "unconfirmed", + "not_applicable", + "unknown" + ], + "type": "string" + }, + "findingIds": { + "items": { + "maxLength": 180, + "type": "string" + }, + "maxItems": 4, + "type": "array" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "policyDeductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "ruleId": { + "maxLength": 160, + "type": "string" + } + }, + "required": [ + "ruleId", + "label", + "policyDeductionPoints", + "findingIds", + "decisionVerification" + ], + "type": "object" + }, + "maxItems": 40, + "type": "array" + } + }, + "required": [ + "family", + "label", + "deductionPoints", + "rules" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "policyVersion": { + "maxLength": 120, + "type": "string" + }, + "scope": { + "const": "starting_page_canonical_score", + "type": "string" + }, + "score": { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + "scoreFloor": { + "const": 0, + "type": "number" + }, + "scoreVersion": { + "maxLength": 120, + "type": "string" + }, + "totalPolicyDeductionPoints": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "scoreVersion", + "policyVersion", + "baseScore", + "scoreFloor", + "score", + "totalPolicyDeductionPoints", + "deductions" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
- Changed
certscore_scan_site3 fields changed- added
Output schema / properties / formsSummaryAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "afterAcceptCapture": { + "enum": [ + "retained", + "limited", + "unavailable" + ], + "type": "string" + }, + "afterAcceptObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "contractVersion": { + "const": "certscore.forms-summary.v1", + "type": "string" + }, + "preConsentCapture": { + "enum": [ + "complete", + "limited", + "unavailable" + ], + "type": "string" + }, + "preConsentObserved": { + "anyOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "scope": { + "const": "starting_page_reportable_observations", + "type": "string" + }, + "totalObserved": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "totalObserved", + "preConsentObserved", + "afterAcceptObserved", + "preConsentCapture", + "afterAcceptCapture" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / links / properties / formsEvidenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / scoreExplanationAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "baseScore": { + "const": 100, + "type": "number" + }, + "contractVersion": { + "const": "certscore.score-explanation.v1", + "type": "string" + }, + "deductions": { + "items": { + "additionalProperties": false, + "properties": { + "deductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "family": { + "maxLength": 80, + "type": "string" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "rules": { + "items": { + "additionalProperties": false, + "properties": { + "decisionVerification": { + "enum": [ + "confirmed", + "unconfirmed", + "not_applicable", + "unknown" + ], + "type": "string" + }, + "findingIds": { + "items": { + "maxLength": 180, + "type": "string" + }, + "maxItems": 4, + "type": "array" + }, + "label": { + "maxLength": 160, + "type": "string" + }, + "policyDeductionPoints": { + "exclusiveMinimum": 0, + "type": "integer" + }, + "ruleId": { + "maxLength": 160, + "type": "string" + } + }, + "required": [ + "ruleId", + "label", + "policyDeductionPoints", + "findingIds", + "decisionVerification" + ], + "type": "object" + }, + "maxItems": 40, + "type": "array" + } + }, + "required": [ + "family", + "label", + "deductionPoints", + "rules" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "policyVersion": { + "maxLength": 120, + "type": "string" + }, + "scope": { + "const": "starting_page_canonical_score", + "type": "string" + }, + "score": { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + "scoreFloor": { + "const": 0, + "type": "number" + }, + "scoreVersion": { + "maxLength": 120, + "type": "string" + }, + "totalPolicyDeductionPoints": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "contractVersion", + "scope", + "scoreVersion", + "policyVersion", + "baseScore", + "scoreFloor", + "score", + "totalPolicyDeductionPoints", + "deductions" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
3 tool updates
- Changed
certscore_get_report_evidence_page3 fields changed- added
Input schema / properties / sectionAdded value: +{ + "enum": [ + "consent", + "gpc", + "policy", + "tracking", + "transport", + "forms" + ], + "type": "string" +} - added
Output schema / properties / sectionAdded value: +{ + "enum": [ + "consent", + "gpc", + "policy", + "tracking", + "transport", + "forms" + ], + "type": "string" +} - added
Output schema / properties / selectionAdded value: +{ + "additionalProperties": false, + "properties": { + "fields": { + "items": { + "type": "string" + }, + "maxItems": 30, + "type": "array" + }, + "interpretation": { + "type": "string" + }, + "notReturnedFields": { + "items": { + "type": "string" + }, + "maxItems": 30, + "type": "array" + }, + "version": { + "const": "certscore.report-evidence-selection.v1", + "type": "string" + } + }, + "required": [ + "version", + "fields", + "notReturnedFields", + "interpretation" + ], + "type": "object" +}
- Changed
certscore_get_scan_bundle2 fields changed- added
Output schema / properties / reviewNavigationAdded value: +{ + "additionalProperties": false, + "properties": { + "baseline": { + "additionalProperties": false, + "properties": { + "completedAt": { + "type": [ + "string", + "null" + ] + }, + "reportUrl": { + "type": [ + "string", + "null" + ] + }, + "scanFrom": { + "anyOf": [ + { + "enum": [ + "eu_de", + "eu_ie", + "california" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "scanId": { + "type": "string" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "scanId", + "url", + "completedAt", + "scanFrom", + "reportUrl" + ], + "type": "object" + }, + "evidenceIndex": { + "items": { + "additionalProperties": false, + "properties": { + "delivery": { + "enum": [ + "included", + "omitted", + "not_returned" + ], + "type": "string" + }, + "key": { + "enum": [ + "findings", + "tracking", + "privacy", + "gpc", + "accept", + "reject", + "transport", + "report" + ], + "type": "string" + }, + "label": { + "type": "string" + }, + "retrieval": { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "scanId": { + "type": "string" + }, + "section": { + "enum": [ + "consent", + "gpc", + "policy", + "tracking", + "transport", + "forms" + ], + "type": "string" + } + }, + "required": [ + "scanId", + "section" + ], + "type": "object" + }, + "createsScan": { + "const": false, + "type": "boolean" + }, + "tool": { + "const": "certscore_get_report_evidence_page", + "type": "string" + } + }, + "required": [ + "tool", + "arguments", + "createsScan" + ], + "type": "object" + }, + "returned": { + "minimum": 0, + "type": "integer" + }, + "total": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "key", + "label", + "delivery" + ], + "type": "object" + }, + "maxItems": 8, + "type": "array" + }, + "interpretation": { + "type": "string" + }, + "nextActions": { + "items": { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "scanId": { + "type": "string" + }, + "workpaper": { + "const": "tracking", + "type": "string" + } + }, + "required": [ + "scanId" + ], + "type": "object" + }, + "createsScan": { + "const": false, + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "tool": { + "const": "certscore_get_report_evidence_page", + "type": "string" + } + }, + "required": [ + "tool", + "arguments", + "createsScan", + "reason" + ], + "type": "object" + }, + "maxItems": 2, + "type": "array" + }, + "optionalReview": { + "type": "string" + }, + "scope": { + "const": "returned_canonical_projection", + "type": "string" + }, + "version": { + "const": "certscore.mcp-review-navigation.v1", + "type": "string" + } + }, + "required": [ + "version", + "scope", + "baseline", + "evidenceIndex", + "nextActions", + "optionalReview", + "interpretation" + ], + "type": "object" +} - changed
Output schema / properties / scanFrom / anyOfPrevious value: -[ - { - "enum": [ - "eu_de", - "eu_ie", - "california" - ], - "type": "string" - }, - { - "type": "null" - } -]New value: +[ + { + "$ref": "#/properties/reviewNavigation/properties/baseline/properties/scanFrom/anyOf/0" + }, + { + "type": "null" + } +]
- Changed
certscore_scan_site2 fields changed- removed
Input schema / properties / maxWaitSecondsRemoved value: -{ - "description": "Deprecated compatibility field; accepted but ignored. The bounded preliminary-preview wait is controlled by CertScore and never waits for scan completion.", - "maximum": 45, - "minimum": 1, - "type": "integer" -} - removed
Input schema / properties / waitForCompletionRemoved value: -{ - "description": "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.", - "type": "boolean" -}
1 tool update
- Changed
certscore_get_scan_bundle5 fields changed- changed
Output schema / properties / privacyAuditEvidence / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "capturedAt": { - "$ref": "#/properties/privacyAuditSummary/properties/capturedAt" - }, - "collectionPointNoticeAssessment": { - "$ref": "#/properties/privacyAuditSummary/properties/collectionPointNoticeAssessment" - }, - "contractVersion": { - "$ref": "#/properties/privacyAuditSummary/properties/contractVersion" - }, - "controls": { - "items": { - "$ref": "#/properties/privacyAuditSummary/properties/controls/items" - }, - "maxItems": 12, - "type": "array" - }, - "documentUrl": { - "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" - }, - "negativeControlCoverage": { - "$ref": "#/properties/privacyAuditSummary/properties/negativeControlCoverage" - }, - "notices": { - "items": { - "additionalProperties": false, - "properties": { - "coverage": { - "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/coverage" - }, - "directlyLinkedFromScannedPage": { - "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/directlyLinkedFromScannedPage" - }, - "evidenceRef": { - "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/evidenceRef" - }, - "kind": { - "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/kind" - }, - "passages": { - "items": { - "additionalProperties": false, - "properties": { - "excerpt": { - "maxLength": 480, - "minLength": 1, - "type": "string" - }, - "topic": { - "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/topics/items" - } - }, - "required": [ - "topic", - "excerpt" - ], - "type": "object" - }, - "maxItems": 5, - "type": "array" - }, - "url": { - "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" - } - }, - "required": [ - "kind", - "url", - "evidenceRef", - "directlyLinkedFromScannedPage", - "coverage", - "passages" - ], - "type": "object" - }, - "maxItems": 4, - "type": "array" - }, - "passagePolicy": { - "const": "california_notice_passages.v1", - "type": "string" - }, - "scanId": { - "$ref": "#/properties/privacyAuditSummary/properties/scanId" - }, - "scoreEffect": { - "$ref": "#/properties/privacyAuditSummary/properties/scoreEffect" - }, - "sourceHash": { - "$ref": "#/properties/privacyAuditSummary/properties/sourceHash" - }, - "truncated": { - "type": "boolean" - }, - "verificationStatus": { - "$ref": "#/properties/privacyAuditSummary/properties/verificationStatus" - } - }, - "required": [ - "contractVersion", - "scanId", - "documentUrl", - "capturedAt", - "sourceHash", - "verificationStatus", - "scoreEffect", - "passagePolicy", - "controls", - "notices", - "negativeControlCoverage", - "collectionPointNoticeAssessment", - "truncated" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "capturedAt": { + "$ref": "#/properties/privacyAuditSummary/properties/capturedAt" + }, + "collectionPointNoticeAssessment": { + "$ref": "#/properties/privacyAuditSummary/properties/collectionPointNoticeAssessment" + }, + "contractVersion": { + "const": "certscore.privacy-audit-evidence.v1", + "type": "string" + }, + "controls": { + "items": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items" + }, + "maxItems": 12, + "type": "array" + }, + "documentUrl": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + "negativeControlCoverage": { + "$ref": "#/properties/privacyAuditSummary/properties/negativeControlCoverage" + }, + "notices": { + "items": { + "additionalProperties": false, + "properties": { + "coverage": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/coverage" + }, + "directlyLinkedFromScannedPage": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/directlyLinkedFromScannedPage" + }, + "evidenceRef": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/evidenceRef" + }, + "kind": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/kind" + }, + "passages": { + "items": { + "additionalProperties": false, + "properties": { + "excerpt": { + "maxLength": 480, + "minLength": 1, + "type": "string" + }, + "topic": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/topics/items" + } + }, + "required": [ + "topic", + "excerpt" + ], + "type": "object" + }, + "maxItems": 5, + "type": "array" + }, + "url": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + } + }, + "required": [ + "kind", + "url", + "evidenceRef", + "directlyLinkedFromScannedPage", + "coverage", + "passages" + ], + "type": "object" + }, + "maxItems": 4, + "type": "array" + }, + "passagePolicy": { + "const": "california_notice_passages.v1", + "type": "string" + }, + "scanId": { + "$ref": "#/properties/privacyAuditSummary/properties/scanId" + }, + "scoreEffect": { + "$ref": "#/properties/privacyAuditSummary/properties/scoreEffect" + }, + "sourceHash": { + "$ref": "#/properties/privacyAuditSummary/properties/sourceHash" + }, + "truncated": { + "type": "boolean" + }, + "verificationStatus": { + "$ref": "#/properties/privacyAuditSummary/properties/verificationStatus" + } + }, + "required": [ + "scanId", + "documentUrl", + "capturedAt", + "sourceHash", + "verificationStatus", + "scoreEffect", + "passagePolicy", + "controls", + "notices", + "negativeControlCoverage", + "collectionPointNoticeAssessment", + "truncated", + "contractVersion" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "capturedAt": { + "$ref": "#/properties/privacyAuditSummary/properties/capturedAt" + }, + "collectionPointNoticeAssessment": { + "$ref": "#/properties/privacyAuditSummary/properties/collectionPointNoticeAssessment" + }, + "contractVersion": { + "const": "certscore.privacy-audit-evidence.v2", + "type": "string" + }, + "controlCandidates": { + "items": { + "$ref": "#/properties/privacyAuditSummary/properties/controlCandidates/items" + }, + "maxItems": 12, + "type": "array" + }, + "controls": { + "$ref": "#/properties/privacyAuditEvidence/anyOf/0/anyOf/0/properties/controls" + }, + "documentUrl": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + "negativeControlCoverage": { + "$ref": "#/properties/privacyAuditSummary/properties/negativeControlCoverage" + }, + "notices": { + "$ref": "#/properties/privacyAuditEvidence/anyOf/0/anyOf/0/properties/notices" + }, + "passagePolicy": { + "$ref": "#/properties/privacyAuditEvidence/anyOf/0/anyOf/0/properties/passagePolicy" + }, + "scanId": { + "$ref": "#/properties/privacyAuditSummary/properties/scanId" + }, + "scoreEffect": { + "$ref": "#/properties/privacyAuditSummary/properties/scoreEffect" + }, + "sourceHash": { + "$ref": "#/properties/privacyAuditSummary/properties/sourceHash" + }, + "truncated": { + "$ref": "#/properties/privacyAuditEvidence/anyOf/0/anyOf/0/properties/truncated" + }, + "verificationStatus": { + "$ref": "#/properties/privacyAuditSummary/properties/verificationStatus" + } + }, + "required": [ + "scanId", + "documentUrl", + "capturedAt", + "sourceHash", + "verificationStatus", + "scoreEffect", + "passagePolicy", + "controls", + "notices", + "negativeControlCoverage", + "collectionPointNoticeAssessment", + "truncated", + "contractVersion", + "controlCandidates" + ], + "type": "object" + } + ] + }, + { + "type": "null" + } +] - removed
Output schema / properties / privacyAuditSummary / properties / contractVersion / constRemoved value: -"certscore.privacy-audit-evidence.v1" - added
Output schema / properties / privacyAuditSummary / properties / contractVersion / enumAdded value: +[ + "certscore.privacy-audit-evidence.v1", + "certscore.privacy-audit-evidence.v2" +] - added
Output schema / properties / privacyAuditSummary / properties / controlCandidatesAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "destinationUrl": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + "evidenceRef": { + "maxLength": 240, + "minLength": 1, + "type": "string" + }, + "kind": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/kind" + }, + "label": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "placement": { + "maxLength": 80, + "type": "string" + }, + "sourceUrl": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + "verification": { + "enum": [ + "visibility_unverified", + "accessible_name_unverified" + ], + "type": "string" + } + }, + "required": [ + "kind", + "label", + "sourceUrl", + "destinationUrl", + "placement", + "evidenceRef", + "verification" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" +} - changed
Output schema / properties / privacyAuditSummary / requiredPrevious value: -[ - "contractVersion", - "scanId", - "capturedAt", - "sourceHash", - "verificationStatus", - "scoreEffect", - "negativeControlCoverage", - "collectionPointNoticeAssessment", - "retainedControlCount", - "retainedNoticeCount", - "controls", - "notices", - "truncated" -]New value: +[ + "scanId", + "capturedAt", + "sourceHash", + "verificationStatus", + "scoreEffect", + "negativeControlCoverage", + "collectionPointNoticeAssessment", + "contractVersion", + "retainedControlCount", + "retainedNoticeCount", + "controls", + "notices", + "truncated" +]
1 tool update
- Changed
certscore_get_scan_bundle2 fields changed- added
Output schema / properties / privacyAuditSummary / properties / controls / items / properties / accessibleNameSourceAdded value: +{ + "enum": [ + "aria_label", + "aria_labelledby", + "text", + "image_alt", + "svg_title", + "title" + ], + "type": "string" +} - added
Output schema / properties / privacyAuditSummary / properties / controls / items / properties / classificationProvenanceAdded value: +{ + "const": "privacy_surface_classifier.v1", + "type": "string" +}
2 tool updates
- Changed
certscore_get_report_evidence_page3 fields changed- added
Input schema / properties / workpaperAdded value: +{ + "const": "tracking", + "type": "string" +} - added
Output schema / properties / download / properties / csvUrlAdded value: +{ + "format": "uri", + "type": "string" +} - added
Output schema / properties / workpaperAdded value: +{ + "const": "tracking", + "type": "string" +}
- Changed
certscore_get_scan_bundle2 fields changed- added
Output schema / properties / privacyAuditEvidenceAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "capturedAt": { + "$ref": "#/properties/privacyAuditSummary/properties/capturedAt" + }, + "collectionPointNoticeAssessment": { + "$ref": "#/properties/privacyAuditSummary/properties/collectionPointNoticeAssessment" + }, + "contractVersion": { + "$ref": "#/properties/privacyAuditSummary/properties/contractVersion" + }, + "controls": { + "items": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items" + }, + "maxItems": 12, + "type": "array" + }, + "documentUrl": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + "negativeControlCoverage": { + "$ref": "#/properties/privacyAuditSummary/properties/negativeControlCoverage" + }, + "notices": { + "items": { + "additionalProperties": false, + "properties": { + "coverage": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/coverage" + }, + "directlyLinkedFromScannedPage": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/directlyLinkedFromScannedPage" + }, + "evidenceRef": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/evidenceRef" + }, + "kind": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/kind" + }, + "passages": { + "items": { + "additionalProperties": false, + "properties": { + "excerpt": { + "maxLength": 480, + "minLength": 1, + "type": "string" + }, + "topic": { + "$ref": "#/properties/privacyAuditSummary/properties/notices/items/properties/topics/items" + } + }, + "required": [ + "topic", + "excerpt" + ], + "type": "object" + }, + "maxItems": 5, + "type": "array" + }, + "url": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + } + }, + "required": [ + "kind", + "url", + "evidenceRef", + "directlyLinkedFromScannedPage", + "coverage", + "passages" + ], + "type": "object" + }, + "maxItems": 4, + "type": "array" + }, + "passagePolicy": { + "const": "california_notice_passages.v1", + "type": "string" + }, + "scanId": { + "$ref": "#/properties/privacyAuditSummary/properties/scanId" + }, + "scoreEffect": { + "$ref": "#/properties/privacyAuditSummary/properties/scoreEffect" + }, + "sourceHash": { + "$ref": "#/properties/privacyAuditSummary/properties/sourceHash" + }, + "truncated": { + "type": "boolean" + }, + "verificationStatus": { + "$ref": "#/properties/privacyAuditSummary/properties/verificationStatus" + } + }, + "required": [ + "contractVersion", + "scanId", + "documentUrl", + "capturedAt", + "sourceHash", + "verificationStatus", + "scoreEffect", + "passagePolicy", + "controls", + "notices", + "negativeControlCoverage", + "collectionPointNoticeAssessment", + "truncated" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / privacyAuditSummaryAdded value: +{ + "additionalProperties": false, + "properties": { + "capturedAt": { + "format": "date-time", + "type": "string" + }, + "collectionPointNoticeAssessment": { + "const": "not_assessed", + "type": "string" + }, + "contractVersion": { + "const": "certscore.privacy-audit-evidence.v1", + "type": "string" + }, + "controls": { + "items": { + "additionalProperties": false, + "properties": { + "destinationUrl": { + "anyOf": [ + { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + }, + { + "type": "null" + } + ] + }, + "evidenceRef": { + "maxLength": 240, + "minLength": 1, + "type": "string" + }, + "interaction": { + "const": "not_tested", + "type": "string" + }, + "kind": { + "enum": [ + "do_not_sell_or_share", + "your_privacy_choices", + "cookie_settings" + ], + "type": "string" + }, + "label": { + "maxLength": 200, + "type": "string" + }, + "placement": { + "maxLength": 80, + "type": "string" + }, + "retrieval": { + "enum": [ + "not_attempted", + "fetched", + "failed", + "skipped_budget" + ], + "type": "string" + }, + "sourceUrl": { + "format": "uri", + "maxLength": 800, + "type": "string" + } + }, + "required": [ + "kind", + "label", + "sourceUrl", + "destinationUrl", + "placement", + "evidenceRef", + "retrieval", + "interaction" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" + }, + "negativeControlCoverage": { + "const": "not_verified", + "type": "string" + }, + "notices": { + "items": { + "additionalProperties": false, + "properties": { + "coverage": { + "enum": [ + "complete", + "partial" + ], + "type": "string" + }, + "directlyLinkedFromScannedPage": { + "type": "boolean" + }, + "evidenceRef": { + "maxLength": 240, + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "privacy_policy", + "california_notice", + "notice_at_collection" + ], + "type": "string" + }, + "topics": { + "items": { + "enum": [ + "sale_sharing", + "collection_purposes", + "retention", + "privacy_rights", + "opt_out_methods" + ], + "type": "string" + }, + "maxItems": 5, + "type": "array" + }, + "url": { + "$ref": "#/properties/privacyAuditSummary/properties/controls/items/properties/sourceUrl" + } + }, + "required": [ + "kind", + "url", + "evidenceRef", + "directlyLinkedFromScannedPage", + "coverage", + "topics" + ], + "type": "object" + }, + "maxItems": 2, + "type": "array" + }, + "retainedControlCount": { + "minimum": 0, + "type": "integer" + }, + "retainedNoticeCount": { + "minimum": 0, + "type": "integer" + }, + "scanId": { + "minLength": 1, + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "sourceHash": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "truncated": { + "type": "boolean" + }, + "verificationStatus": { + "const": "verified", + "type": "string" + } + }, + "required": [ + "contractVersion", + "scanId", + "capturedAt", + "sourceHash", + "verificationStatus", + "scoreEffect", + "negativeControlCoverage", + "collectionPointNoticeAssessment", + "retainedControlCount", + "retainedNoticeCount", + "controls", + "notices", + "truncated" + ], + "type": "object" +}
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", - "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" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "activityComparison": { + "additionalProperties": false, + "properties": { + "activity": { + "additionalProperties": false, + "properties": { + "advertisingMarketing": { + "additionalProperties": false, + "properties": { + "baselineRequests": { + "maximum": 5000, + "minimum": 0, + "type": "integer" + }, + "baselineServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcRequests": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + } + }, + "required": [ + "baselineRequests", + "gpcRequests", + "baselineServices", + "gpcServices" + ], + "type": "object" + }, + "analyticsReplay": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing" + } + }, + "required": [ + "advertisingMarketing", + "analyticsReplay" + ], + "type": "object" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "contractVersion": { + "const": "certscore.gpc-activity-comparison.v1", + "type": "string" + }, + "durationMs": { + "enum": [ + 250, + 500, + 1000 + ], + "type": "number" + }, + "scanId": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "scope": { + "const": "matched_post_commit_request_window", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "sourceHashes": { + "additionalProperties": false, + "properties": { + "baseline": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "gpc": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "baseline", + "gpc" + ], + "type": "object" + }, + "status": { + "const": "measured", + "type": "string" + } + }, + "required": [ + "contractVersion", + "scanId", + "status", + "scope", + "durationMs", + "sourceHashes", + "activity", + "scoreEffect", + "causedByGpc" + ], + "type": "object" + }, + "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", - "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" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "activityComparison": { + "additionalProperties": false, + "properties": { + "activity": { + "additionalProperties": false, + "properties": { + "advertisingMarketing": { + "additionalProperties": false, + "properties": { + "baselineRequests": { + "maximum": 5000, + "minimum": 0, + "type": "integer" + }, + "baselineServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcRequests": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + } + }, + "required": [ + "baselineRequests", + "gpcRequests", + "baselineServices", + "gpcServices" + ], + "type": "object" + }, + "analyticsReplay": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing" + } + }, + "required": [ + "advertisingMarketing", + "analyticsReplay" + ], + "type": "object" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "contractVersion": { + "const": "certscore.gpc-activity-comparison.v1", + "type": "string" + }, + "durationMs": { + "enum": [ + 250, + 500, + 1000 + ], + "type": "number" + }, + "scanId": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "scope": { + "const": "matched_post_commit_request_window", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "sourceHashes": { + "additionalProperties": false, + "properties": { + "baseline": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "gpc": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "baseline", + "gpc" + ], + "type": "object" + }, + "status": { + "const": "measured", + "type": "string" + } + }, + "required": [ + "contractVersion", + "scanId", + "status", + "scope", + "durationMs", + "sourceHashes", + "activity", + "scoreEffect", + "causedByGpc" + ], + "type": "object" + }, + "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", - "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" - } -]New value: +[ + { + "anyOf": [ + { + "not": {} + }, + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "activityComparison": { + "additionalProperties": false, + "properties": { + "activity": { + "additionalProperties": false, + "properties": { + "advertisingMarketing": { + "additionalProperties": false, + "properties": { + "baselineRequests": { + "maximum": 5000, + "minimum": 0, + "type": "integer" + }, + "baselineServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcRequests": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + }, + "gpcServices": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing/properties/baselineRequests" + } + }, + "required": [ + "baselineRequests", + "gpcRequests", + "baselineServices", + "gpcServices" + ], + "type": "object" + }, + "analyticsReplay": { + "$ref": "#/properties/gpcResponse/anyOf/0/anyOf/1/anyOf/0/properties/activityComparison/properties/activity/properties/advertisingMarketing" + } + }, + "required": [ + "advertisingMarketing", + "analyticsReplay" + ], + "type": "object" + }, + "causedByGpc": { + "const": "not_established", + "type": "string" + }, + "contractVersion": { + "const": "certscore.gpc-activity-comparison.v1", + "type": "string" + }, + "durationMs": { + "enum": [ + 250, + 500, + 1000 + ], + "type": "number" + }, + "scanId": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "scope": { + "const": "matched_post_commit_request_window", + "type": "string" + }, + "scoreEffect": { + "const": "none", + "type": "string" + }, + "sourceHashes": { + "additionalProperties": false, + "properties": { + "baseline": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "gpc": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "baseline", + "gpc" + ], + "type": "object" + }, + "status": { + "const": "measured", + "type": "string" + } + }, + "required": [ + "contractVersion", + "scanId", + "status", + "scope", + "durationMs", + "sourceHashes", + "activity", + "scoreEffect", + "causedByGpc" + ], + "type": "object" + }, + "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" + } +]
1 tool update
- Changed
certscore_get_scan_bundle1 field changed- added
Output schema / properties / fullReport / properties / coverage / properties / scopeSummaryAdded value: +{ + "type": "string" +}
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" - }, - "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" - } -]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" + }, + "execution": { + "additionalProperties": false, + "properties": { + "clickCompleted": { + "type": "boolean" + }, + "consentConfirmed": { + "type": "boolean" + }, + "observationCompleted": { + "type": "boolean" + }, + "policyVersion": { + "const": "choice_path_execution.v1", + "type": "string" + }, + "status": { + "enum": [ + "succeeded", + "succeeded_with_confirmation", + "limited", + "not_attempted", + "unsupported" + ], + "type": "string" + } + }, + "required": [ + "policyVersion", + "status", + "clickCompleted", + "observationCompleted", + "consentConfirmed" + ], + "type": "object" + }, + "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": { - "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" - } -]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" + }, + "execution": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/execution" + }, + "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" - }, - "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" - } -]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" + }, + "execution": { + "additionalProperties": false, + "properties": { + "clickCompleted": { + "type": "boolean" + }, + "consentConfirmed": { + "type": "boolean" + }, + "observationCompleted": { + "type": "boolean" + }, + "policyVersion": { + "const": "choice_path_execution.v1", + "type": "string" + }, + "status": { + "enum": [ + "succeeded", + "succeeded_with_confirmation", + "limited", + "not_attempted", + "unsupported" + ], + "type": "string" + } + }, + "required": [ + "policyVersion", + "status", + "clickCompleted", + "observationCompleted", + "consentConfirmed" + ], + "type": "object" + }, + "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": { - "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" - } -]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" + }, + "execution": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/execution" + }, + "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" - }, - "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" - } -]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" + }, + "execution": { + "additionalProperties": false, + "properties": { + "clickCompleted": { + "type": "boolean" + }, + "consentConfirmed": { + "type": "boolean" + }, + "observationCompleted": { + "type": "boolean" + }, + "policyVersion": { + "const": "choice_path_execution.v1", + "type": "string" + }, + "status": { + "enum": [ + "succeeded", + "succeeded_with_confirmation", + "limited", + "not_attempted", + "unsupported" + ], + "type": "string" + } + }, + "required": [ + "policyVersion", + "status", + "clickCompleted", + "observationCompleted", + "consentConfirmed" + ], + "type": "object" + }, + "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": { - "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" - } -]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" + }, + "execution": { + "$ref": "#/properties/postAcceptObservation/anyOf/0/anyOf/1/anyOf/0/properties/execution" + }, + "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_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" + } +]
Related MCP Connectors
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Your agent needs to crawl a site and say what is wrong with it — broken tags, duplicate content, pages nothing can index, resources that never load. **What you can ask for** • "Crawl this site and list every page with a duplicate title or missing description." • "Which pages are non-indexable, and why?" • "Run Lighthouse on these URLs and give me the failing audits." • "Show the internal link graph and the orphan pages." • "Give me this page's raw HTML and its microdata." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-onpage/mcp and sign in with OAuth — there is no key to create or paste. 20 tools: submit a crawl and read its summary, pages, resources, links and waterfall; duplicate content and duplicate tags; keyword density; non-indexable and uncrawlable resources; parsed content, raw HTML, microdata, screenshots and Lighthouse. **Why this rather than the source** A crawler you drive from the agent, with the audit results as structured data rather than a PDF. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the broken pages here, then ask the same agent what those pages used to rank for — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
The website checker for AI agents. One call: verdict, score out of 100, fix list.
11AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
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.15350 npm1MIT
- AlicenseBqualityCmaintenanceEnables AI coding agents and LLMs to scrape web pages into clean Markdown, audit email deliverability and authentication records, and verify email signup fraud risk through MCP tools.3MIT
- FlicenseNot gradedqualityBmaintenanceProvides 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
Glama MCP Gateway
Add one secure layer between your agents and this server.