{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/ai-ecoverse/slicc-browsers/schema/protected.schema.json",
"title": "slicc-browsers protected-origin test vectors, schema 1",
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"unparseable",
"unparseableRefusal",
"origins",
"urls",
"targets",
"cookieDomains",
"storageKeys"
],
"properties": {
"schema": { "const": 1 },
"errorPage": {
"type": "object",
"additionalProperties": false,
"required": ["url", "target", "redact"],
"properties": {
"url": { "const": "chrome-error://chromewebdata/" },
"target": { "const": "previous" },
"redact": { "const": "origin" }
}
},
"unparseable": { "const": "protected" },
"unparseableRefusal": {
"const": "slicc: refused: slicc can't parse this URL, so it could be a protected page"
},
"origins": { "type": "array", "items": { "type": "string", "minLength": 1 } },
"urls": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["url", "protected"],
"properties": {
"url": { "type": "string" },
"protected": { "type": "boolean" }
}
}
},
"targets": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["url", "protected"],
"properties": {
"url": { "type": "string" },
"type": { "type": "string" },
"previous": { "type": "boolean" },
"documentURL": { "type": "string" },
"unreachableURL": { "type": "string" },
"navigating": { "type": "boolean" },
"opener": { "enum": ["protected", "unprotected", "unknown"] },
"protected": { "type": "boolean" }
}
}
},
"cookieDomains": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["domain", "protected"],
"properties": {
"domain": { "type": "string" },
"protected": { "type": "boolean" }
}
}
},
"storageKeys": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["key", "protected"],
"properties": {
"key": { "type": "string" },
"protected": { "type": "boolean" }
}
}
}
}
}