{
"id": "community.lexicon.preference.ai",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"updatedAt",
"scope",
"preferences"
],
"properties": {
"scope": {
"refs": [
"#globalScope",
"#entityScope",
"#collectionScope"
],
"type": "union",
"description": "What this record's preferences apply to."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of the most recent change to this record."
},
"preferences": {
"ref": "#preferenceSet",
"type": "ref"
}
}
}
},
"preference": {
"type": "object",
"required": [
"allow",
"updatedAt"
],
"properties": {
"allow": {
"type": "boolean",
"description": "Whether this usage is permitted (true) or denied (false)."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When this specific preference was last changed."
}
}
},
"entityScope": {
"type": "object",
"required": [
"entity"
],
"properties": {
"entity": {
"type": "string",
"description": "DID or domain of the entity this override applies to."
}
},
"description": "Scopes preferences to a specific AI consumer."
},
"globalScope": {
"type": "object",
"description": "Account-wide default. The record at key 'self' should carry this scope."
},
"preferenceSet": {
"type": "object",
"properties": {
"training": {
"ref": "#preference",
"type": "ref",
"description": "Use as input for training, fine-tuning, distillation, or RLHF of ML models."
},
"embedding": {
"ref": "#preference",
"type": "ref",
"description": "Use for vector embeddings or semantic indexing."
},
"inference": {
"ref": "#preference",
"type": "ref",
"description": "Use at inference time for retrieval, RAG, or context injection."
},
"syntheticContent": {
"ref": "#preference",
"type": "ref",
"description": "Use to generate synthetic content or interactions derived from user data."
}
},
"description": "A set of AI usage preferences. Omitted fields mean undefined (no declared preference)."
},
"collectionScope": {
"type": "object",
"required": [
"collection"
],
"properties": {
"collection": {
"type": "string",
"format": "nsid",
"description": "NSID of the collection this override applies to."
}
},
"description": "Scopes preferences to a specific record collection in the user's repository."
}
},
"lexicon": 1,
"description": "Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections."
}