ConceptsCore conceptsProvenance and attribution

Concept

Provenance and attribution

Preserve where a memory came from without confusing source metadata with authorization or ownership.

Provenance is part of the public memory record

The memory contract exposes provenance alongside content, path, source_identity, agent_id, agent_instance_id_hash, and agent_instance_source. Provenance is structured evidence about how a record was produced; it is not a bearer token and cannot widen the caller's access.

  • source_identity is the compact caller/source label used by write and audit paths.
  • provenance is a JSON object for source, adapter, event, or other evidence fields.
  • agent_instance_id_hash is the privacy-preserving installation attribution value.

Agent events carry their origin

AgentEvent.to_memory_candidate creates a MemoryCandidate with provenance containing source=agent_integration, adapter=<event source>, and event_id. The candidate metadata also keeps the event type, time, agent id, task id, tool name, command, file path, and status after the shared sanitizer has run.

{
  "provenance": {
    "source": "agent_integration",
    "adapter": "codex",
    "event_id": "evt_<stable-event-id>"
  },
  "metadata": {
    "agent_event": {
      "event_type": "decision_made",
      "task_id": "<task-id>"
    }
  }
}

Write attribution with the memory

The public remember and store request models accept source and provenance. Supply stable, non-secret labels at capture time; keep the access credential in its header or environment and let the server sanitize content, metadata, and provenance before persistence.

POST /v1/remember
X-API-Key: <your-assigned-api-key>
Content-Type: application/json

{
  "content": "The deployment decision was verified.",
  "path": "projects/memory-os/decisions",
  "source": "codex",
  "provenance": {
    "source": "agent_integration",
    "adapter": "codex",
    "event_id": "evt_<stable-event-id>"
  }
}

Sanitization does not erase lineage

The persistence sanitizer walks content, metadata, and provenance structurally. Credential-shaped values are removed; if redaction occurs, the server records privacy.server_write_sanitizer audit metadata while retaining safe provenance fields. Treat the resulting record as sanitized evidence, not as a raw event archive.

Persona flows

ChatGPT user

Give ChatGPT durable access to your XMemo preferences, project facts, decisions, and TODOs without pasting bearer tokens into a chat.

Save a synthetic preference or project note, start a new chat, then ask ChatGPT to recall it through XMemo before continuing work.

Copilot / Codex developer

Carry repo decisions, coding conventions, bug-fix notes, and task history between IDE and CLI agents.

Record a codebase decision or bug fix, then ask the next IDE or CLI agent to recall the relevant XMemo context before editing.

Team / enterprise pilot owner

Evaluate shared memory with account controls, source attribution, export/delete workflows, and reviewer-safe setup evidence.

Have a pilot member save a synthetic team memory, confirm source attribution in XMemo, then review delete/export and support paths.

Source: Agent identity