{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "znote privacy policy",
"description": "Built into znote. A company that ships its own znote edits this file to make privacy settings mandatory.",
"type": "object",
"additionalProperties": false,
"required": ["hideNames", "findNames", "hideAmounts", "minimumLevel", "web", "providers", "dataCollection", "zeroRetention"],
"properties": {
"$schema": { "type": "string" },
"hideNames": { "$ref": "#/$defs/rule", "description": "Hide names from the assistant. \"required\" turns it on and locks it for every chat." },
"findNames": { "$ref": "#/$defs/rule", "description": "Use the downloaded name finder. \"required\" refuses to send until it is downloaded." },
"hideAmounts": { "$ref": "#/$defs/rule", "description": "Hide amounts of money." },
"minimumLevel": { "type": "integer", "minimum": 0, "maximum": 3, "description": "The lowest hiding level a page or file may have." },
"web": { "enum": ["allowed", "blocked"], "description": "Whether the assistant may read web pages." },
"providers": {
"type": "array",
"items": { "enum": ["claude", "openrouter", "custom"] },
"uniqueItems": true,
"description": "The assistants users may connect."
},
"dataCollection": { "enum": ["allow", "deny"], "description": "OpenRouter: \"deny\" uses only providers that do not store or train on what is sent." },
"zeroRetention": { "type": "boolean", "description": "OpenRouter: use only providers that keep nothing after the answer." }
},
"$defs": {
"rule": { "enum": ["optional", "required"] }
}
}