{
	"title": "Wappalyzer Schema",
	"type": "object",
	"additionalProperties": false,
	"properties": {
		"$schema": {
			"type": "string"
		},
		"categories": {
			"type": "object",
			"required": true,
			"additionalProperties": false,
			"patternProperties": {
				"^[0-9]+$": {
					"type": "object",
					"required": true,
					"properties": {
						"priority": {
							"type": "number"
						},
						"name": {
							"type": "string"
						}
					}
				}
			}
		},
		"apps": {
			"type": "object",
			"required": true,
			"additionalProperties": {
				"additionalProperties": false,
				"properties": {
					"cats": {
						"type": "array",
						"items": {
							"type": "number"
						},
						"required": true
					},
					"cpe": {
						"type": "string"
					},
					"cookies": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						}
					},
					"js": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						}
					},
					"headers": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						}
					},
					"html": {
						"type": [
							"string",
							"array"
						],
						"items": {
							"type": "string"
						}
					},
					"excludes": {
						"type": [
							"string",
							"array"
						],
						"items": {
							"type": "string"
						}
					},
					"implies": {
						"type": [
							"string",
							"array"
						],
						"items": {
							"type": "string"
						}
					},
					"meta": {
						"type": "object",
						"additionalProperties": {
							"type": "string"
						}
					},
					"script": {
						"type": [
							"string",
							"array"
						],
						"items": {
							"type": "string"
						}
					},
					"url": {
						"type": "string"
					},
					"website": {
						"type": "string",
						"required": true
					},
					"icon": {
						"type": "string"
					}
				}
			}
		}
	}
}
