{
  "schemaVersion": "0.5.0",
  "type": "RuntimeDataPolicy",
  "status": "active",
  "policyId": "runtime-ledger-v2-aggregate-only",
  "purpose": "Measure technical distribution of governed context runtime resources and send private aggregate operator reports.",
  "collectionBoundary": {
    "surface": "governed-context-runtime",
    "freeTextAccepted": false,
    "personalIdentityAccepted": false,
    "requestBodyAccepted": false,
    "rawEventDatabaseJournal": false
  },
  "transientProcessing": {
    "userAgentUse": "closed-taxonomy classification in resolver memory only",
    "cloudflareBotMetadataUse": "closed verified-or-unknown network observation only",
    "queuePayloadSchema": "https://gautierdorval.com/runtime-ledger-event.schema.json",
    "mainQueueTargetRetentionHours": 8,
    "deadLetterQueueTargetRetentionHours": 8,
    "maximumRedrives": 1,
    "maximumTransportResidenceHours": 24,
    "maximumAcceptedEventAgeHours": 24,
    "queueRetentionCompliant": true,
    "queueRetentionNote": "Owner-authorized R1 set and verified all four provisioned Queue and DLQ resources at the 8-hour target. R2 preview preserved those settings while adding only the preview producer and consumer bindings; both preview switches are disabled after qualification."
  },
  "persistedStores": [
    {
      "table": "runtime_daily_rollups",
      "content": "aggregate dimensions, counts, bounded latency statistics, first_seen and last_seen",
      "retentionDays": 400
    },
    {
      "table": "runtime_event_dedup",
      "content": "opaque event identifier, receive timestamp and short-lived canonical payload fingerprint or explicit legacy marker",
      "retentionDays": 2
    },
    {
      "table": "runtime_ingest_health",
      "content": "daily aggregate ingest outcome counters only",
      "retentionDays": 45
    },
    {
      "table": "runtime_report_delivery_state",
      "content": "report status, provider identifier, timestamps and closed provider error code",
      "retentionDays": 45
    }
  ],
  "idempotencyIntegrity": {
    "schemaState": "0002_applied_preview_and_production",
    "writerBehaviorState": "deployed_active",
    "fingerprint": {
      "column": "event_fingerprint",
      "algorithm": "sha-256",
      "canonicalInput": "validated event payload excluding eventId, with recursively sorted object keys and ordered arrays",
      "canonicalFormat": "sha-256:<64 lowercase hexadecimal characters>",
      "legacyMarker": "legacy-unfingerprinted",
      "retentionDays": 2,
      "legacyPayloadReconstructed": false,
      "identityGuarantee": false,
      "contentAttestationGuarantee": false
    },
    "closedIngestOutcomes": [
      "accepted",
      "duplicate",
      "duplicate_unverifiable_legacy",
      "conflicting_event_id",
      "invalid_event"
    ],
    "activeAtomicWriteSet": [
      "runtime_event_dedup",
      "runtime_daily_rollups",
      "runtime_ingest_health"
    ],
    "atomicityActivation": "active_writer_deployment",
    "classificationExerciseState": "accepted_and_report_paths_observed_strict_outcomes_not_observed_after_0002",
    "historicalAggregateSemanticsRewritten": false,
    "historicalSkewRewritten": false
  },
  "persistedAggregateDimensions": [
    "event_date",
    "surface",
    "operation",
    "http_method",
    "target_resolution",
    "intent_token",
    "pack_id",
    "unit_id",
    "lang",
    "resource_version",
    "resource_digest",
    "http_status",
    "error_code",
    "latency_bucket",
    "declared_client_family",
    "declared_client_name",
    "declared_client_type",
    "declared_client_confidence",
    "observed_network_class",
    "observation_source",
    "observation_confidence",
    "runtime_version",
    "corpus_version",
    "deployment_id"
  ],
  "forbiddenPersistence": [
    "raw IP address",
    "hashed IP address",
    "raw user-agent",
    "truncated user-agent",
    "hashed user-agent",
    "prompt",
    "human query",
    "response content",
    "conversation content",
    "request body",
    "cookie",
    "authorization header",
    "referrer",
    "email address",
    "username",
    "personal identity",
    "country",
    "colo",
    "ASN",
    "network organization",
    "CF-Ray",
    "TLS fingerprint"
  ],
  "actorEvidenceLevels": [
    {
      "level": "verified",
      "meaning": "A closed declared AI actor token and an independent Cloudflare verified-bot signal were both observed.",
      "identityGuarantee": false
    },
    {
      "level": "declared",
      "meaning": "A request self-declared a known closed AI client token without an independent verification signal.",
      "identityGuarantee": false
    },
    {
      "level": "suspected",
      "meaning": "A generic automated token contained a closed AI hint.",
      "identityGuarantee": false
    },
    {
      "level": "unknown",
      "meaning": "No closed AI client token or independent verification signal established an AI interaction.",
      "identityGuarantee": false
    }
  ],
  "reportBoundary": {
    "recipientSource": "REPORT_TO Worker secret",
    "scheduleUtc": "15 11 * * *",
    "provider": "Resend",
    "htmlReport": true,
    "plainTextReport": true,
    "aggregateJsonAttachment": true,
    "publicReportEndpoint": false,
    "rawEventExport": false
  },
  "nonGuarantees": [
    "An HTTP request does not prove model training, indexing, retrieval, citation, recommendation, output use or compliance.",
    "A declared client token does not prove requester identity.",
    "Cloudflare verification establishes a network bot signal, not the identity of an end user.",
    "Unknown traffic must remain unknown.",
    "A payload fingerprint detects reuse of an opaque eventId; it does not authenticate a requester or attest content truth.",
    "Deployment of the audited writer capability does not prove that every closed ingest outcome has been exercised in production."
  ]
}
