{"version":"2026-07-02","name":"Visa Atlas reviewedBy schema rollout controls","description":"Auditable rollout controls for page-level reviewedBy JSON-LD fragments, gated by approved reviewer evidence rows before any schema can be exported for final page-level review.","license":"CC BY 4.0","attribution":"Visa Atlas","sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/research/expert-reviewer-entity-program-2026","/api/public/knowledge-graph-entities","/api/public/source-transparency-benchmark","/api/public/visibility-metrics","/api/public/visas","/api/public/salary-thresholds","/api/public/fees","/api/public/cost-to-complete","/api/public/express-entry-draws","/api/public/express-entry-categories","/api/public/calculator-verdict-contexts","/api/public/policy-updates"],"methodology":{"sourceOfTruth":"Controls are generated from the public expert reviewer entity program and its high-risk review queues. They define which page groups remain blocked and how local approved evidence can produce offline reviewedBy JSON-LD fragments for final review.","localEvidenceCommand":"npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","localExportCommand":"npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl","privateDataPolicy":"Private reviewer contacts, engagement terms, draft comments, rejected evidence, screenshots and unapproved credential checks stay local. Public controls expose queue IDs, page targets, required fields and gating rules only.","schemaFragmentPolicy":"Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page. Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement. Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name. Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD. The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field. Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication.","caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},"summary":{"controlCount":6,"blockedCount":6,"approvedByDefaultCount":0,"p0ControlCount":3,"sourceDatasetCount":14,"localEvidenceCommand":"npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","localExportCommand":"npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"},"controls":[{"id":"uk-skilled-worker-yml-review-schema-control","queueId":"uk-skilled-worker-yml-review","title":"UK Skilled Worker eligibility, salary and total-cost review","status":"blocked-pending-evidence","reviewerEntityId":"uk-regulated-reviewer-slot","priority":"p0","riskClass":"legal-eligibility","pageTargets":["/visas/uk/skilled-worker","/calculators/uk-skilled-worker","/calculators/uk-total-migration-cost","/cost-to-complete/uk-skilled-worker"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/visas","/api/public/salary-thresholds","/api/public/fees","/api/public/cost-to-complete"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},{"id":"canada-express-entry-yml-review-schema-control","queueId":"canada-express-entry-yml-review","title":"Canada Express Entry CRS, category and draw-history review","status":"blocked-pending-evidence","reviewerEntityId":"ca-regulated-reviewer-slot","priority":"p0","riskClass":"calculator-verdict","pageTargets":["/calculators/canada-crs","/research/canada-express-entry-draw-tracker","/research/canada-express-entry-category-tracker","/visas/canada/express-entry-cec"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/express-entry-draws","/api/public/express-entry-categories","/api/public/calculator-verdict-contexts"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},{"id":"germany-recognition-yml-review-schema-control","queueId":"germany-recognition-yml-review","title":"Germany Blue Card, Chancenkarte and recognition decision-tree review","status":"blocked-pending-evidence","reviewerEntityId":"de-regulated-reviewer-slot","priority":"p0","riskClass":"regulated-profession","pageTargets":["/visas/germany/eu-blue-card","/visas/germany/chancenkarte","/germany-qualification-recognition","/calculators/germany-chancenkarte"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/visas","/api/public/salary-thresholds","/api/public/calculator-verdict-contexts"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},{"id":"australia-skilled-migration-yml-review-schema-control","queueId":"australia-skilled-migration-yml-review","title":"Australia skilled migration points, fees and sponsor-path review","status":"blocked-pending-evidence","reviewerEntityId":"au-regulated-reviewer-slot","priority":"p1","riskClass":"legal-eligibility","pageTargets":["/visas/australia/subclass-482-tss","/visas/australia/subclass-189-skilled-independent","/fees/australia/subclass-482-tss","/cost-to-complete/australia-subclass-482-tss"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/visas","/api/public/fees","/api/public/cost-to-complete"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},{"id":"us-h1b-yml-review-schema-control","queueId":"us-h1b-yml-review","title":"US H-1B fees, lottery and status-boundary review","status":"blocked-pending-evidence","reviewerEntityId":"us-regulated-reviewer-slot","priority":"p1","riskClass":"policy-change","pageTargets":["/visas/us/h-1b","/fees/us/h-1b","/policy-updates"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/visas","/api/public/fees","/api/public/policy-updates"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]},{"id":"ireland-critical-skills-yml-review-schema-control","queueId":"ireland-critical-skills-yml-review","title":"Ireland Critical Skills permit salary and Stamp 4 path review","status":"blocked-pending-evidence","reviewerEntityId":"ie-regulated-reviewer-slot","priority":"p2","riskClass":"legal-eligibility","pageTargets":["/visas/ireland/critical-skills-employment-permit","/salary-thresholds/ireland","/settlement/ireland"],"sourceDatasets":["/api/public/reviewedby-schema-rollout","/api/public/expert-reviewer-entities","/api/public/visas","/api/public/salary-thresholds"],"allowedSchemaTypes":["WebPage reviewedBy fragment after approved local export review"],"requiredEvidenceFields":["evidenceRowId","reviewerEntityId","queueId","status","reviewerName","regulatorName","publicRegisterUrl","reviewedPageUrl","reviewScope","legalAdviceBoundaryConfirmed","approvedForReviewedBySchema","reviewedAt","reviewedBy"],"localCommands":["npm run seo:expert-reviewers -- reviewer-evidence-log.jsonl --json","npm run export:reviewedby-schema -- reviewer-evidence-log.jsonl"],"schemaGovernance":{"reviewedBySchemaAllowed":false,"blockedUntil":"A local reviewer evidence row has status approved-for-reviewedby-schema, approvedForReviewedBySchema=true, legalAdviceBoundaryConfirmed=true and all required public evidence fields.","allowedWhen":["The reviewer identity, regulator/register URL, reviewed page URL, review scope and review date are present in one approved evidence row.","The row confirms the page review is editorial/legal-accuracy review, not individual legal advice.","The reviewed page still carries the normal Visa Atlas disclaimer and source citations.","A final page-level schema review accepts the generated fragment before it is copied into a public template."]},"schemaFragmentPolicy":["Use WebPage fragments only for reviewedPageUrl values that exactly match a public Visa Atlas page.","Use reviewedBy only for the named reviewer in the approved evidence row; do not infer credentials from a source editor or private engagement.","Attach publicRegisterUrl to the reviewer node as url and regulatorName as memberOf.name.","Represent review scope as a short description and keep detailed notes, drafts and private contacts out of public JSON-LD.","The offline exporter ignores draft or non-approved rows and exits non-zero when a row claims reviewedBy approval without every required public evidence field.","Keep generated fragments under exports/reviewedby-schema until a separate page-level schema review approves publication."],"caveats":["This feed is a schema rollout control surface, not a claim that reviewedBy schema is live on any page.","No reviewedBy JSON-LD fragment is exported unless a local evidence row is approved for reviewedBy schema and confirms the legal-advice boundary.","Exported fragments still require final page-level schema review before publication.","Reviewer controls can reduce YMYL trust risk, but they do not guarantee rankings, traffic, citations, AI visibility or market share.","Visa Atlas publishes immigration information, not legal advice, and does not review individual cases."]}]}