Skip to main content

DECLARED_AI_PREFERENCE

Constant DECLARED_AI_PREFERENCE 

Source
pub const DECLARED_AI_PREFERENCE: &str = "{\n  \"$type\": \"bot.did.policy\",\n  \"name\": \"declared-ai-preference\",\n  \"description\": \"Refuses a write that names an account whose own repository declines synthetic content about them.\",\n  \"actions\": [\"record.write\"],\n  \"lookups\": [\n    {\n      \"name\": \"aiPreference\",\n      \"accounts\": \"named\",\n      \"collection\": \"community.lexicon.preference.ai\",\n      \"rkey\": \"self\"\n    }\n  ],\n  \"document\": {\n    \"$type\": \"bot.did.policy#regex\",\n    \"statements\": [\n      {\n        \"kind\": \"denyLookup\",\n        \"collection\": \"^.*$\",\n        \"lookup\": \"aiPreference\",\n        \"select\": [\n          {\n            \"describes\": \"their global default\",\n            \"rkey\": \"^self$\"\n          }\n        ],\n        \"path\": \"preferences.syntheticContent.allow\",\n        \"denied\": [{ \"regex\": \"^false$\" }],\n        \"unknown\": \"standAside\",\n        \"reason\": \"${lookup.handleOrDid} has set syntheticContent to false in their community.lexicon.preference.ai record, at ${select}, so this record was not written. Write nothing that names ${lookup.handleOrDid}; a record naming somebody else, or nobody, is not refused by this rule. The record read is ${lookup.uri}.\",\n        \"unknownReason\": \"This deployment could not read ${lookup.handleOrDid}\'s community.lexicon.preference.ai record: ${lookup.unknown}. Its policy refuses a write naming somebody whose preference it has not read. The record it tried is ${lookup.uri}.\"\n      }\n    ]\n  },\n  \"createdAt\": \"2026-09-22T00:00:00.000Z\"\n}\n";
Expand description

The floor rule that honours a declared AI preference. See plan/ai-preference.md.