- the same person uses multiple AI agents or apps
- agents should not automatically share everything
- the user must approve, review, and revoke access themselves
Production flow at a glance
Memory Passport has four moving parts:| Part | Owned by | Purpose |
|---|---|---|
| Global agent | Your workspace | Public agent profile plus agent_sk_... key |
| Consent page | MemoryOS | User signs in, chooses categories, approves duration |
| Permission grant | MemoryOS | Records which agent can access which categories |
| Universal API call | Your backend/agent | Uses agent_sk_... plus uui_... after consent |
Step 0: Register a global agent
Before you send users to consent, register the AI agent that is requesting access.Recommended: use the tenant dashboard
- Open Tenant Dashboard -> Memory Passport
- Click Create Global Agent
- Add the agent name, website, logo, and description
- Choose default requested categories
- Copy the public
agent_id - Copy the one-time
agent_sk_...secret into your backend secret manager - Use the Consent URL Builder to generate and preview a test link
agent_idis public and can be copied into consent linksagent_sk_...is secret and is shown only once- store
agent_sk_...server-side, never in browser code - default categories are only a starting selection, not a hard maximum
- users can add or remove categories before approval
Optional: create agents from your backend
Use the API when you want to automate setup from an internal admin tool, CI workflow, or customer provisioning flow.idis the publicagent_idused in consent URLsraw_agent_api_keyis shown once and must be stored server-side
default_categories_requested are only the default checkboxes shown on consent links that do not pass a categories parameter. They are not a hard maximum. The end user always makes the final choice before a grant is created.
The user sees this profile on the consent page:
- app / agent name
- description
- verification status
- requested memory categories
- website or logo, if configured
Step 1: Explain shared memory in your app
Do not surprise users with a consent screen. Add a clear button such as:We use MemoryOS so you can choose which AI apps may remember and use your approved context. You can review or revoke access at any time.
Step 2: Send the user to MemoryOS consent
The lowest-friction flow does not require a customer callback route. If you omitredirect_uri, MemoryOS shows a hosted completion page after approval.
- if
categoriesis provided in the consent URL, those categories are preselected - if
categoriesis omitted, the global agent defaults are preselected - if the global agent has no defaults, all universal categories are preselected
- the user can add or remove categories before approving
- the saved grant contains only the categories the user finally approved
Optional: app-owned callback
Use an app-owned callback only when your app must automatically update its own UI after consent.redirect_uri, your route must exist and must verify state server-side. Otherwise users can approve access and land on a 404.
Copy-paste callback examples are available in:
Step 3: Let MemoryOS create the grant
When the user approves access, MemoryOS creates or updates the grant. Your app normally does not call/v1/uui/me/grants directly.
The consent page handles:
- new user account creation
- email OTP login
- category selection
- duration selection
- grant creation
- grant notification
- revoke/manage link
- access type may be
read_onlyorread_write - grants are category-scoped
- users can revoke access any time at
https://consent.memoryos.io/manage - revoked grants return empty retrieve results instead of leaking metadata
Step 4: Use universal memory from your agent
Once your agent has a validagent_sk_... and the user’s uui_... token, it can retrieve only the categories the user approved.
read_write, the agent can also add universal memories:
read_only, write attempts return:
Integration note
The hosted completion page removes the need for every customer to build a callback route. However, universal API calls still require auui_... token. For production apps, the clean long-term pattern is an app-owned account-linking flow where your backend can securely associate your logged-in user with their Memory Passport identity.
Until a server-side token exchange flow is available, use hosted completion for:
- demos
- pilots
- local agents
- manual testing
- user-facing permission confirmation
- your app needs to update its UI immediately after consent
- your backend already has a secure way to associate the app user with the Memory Passport user
- you are building a full production cross-agent integration
Supported categories
Current Memory Passport categories are:preferencefactgoalprocedurerelationshipexpertise
REST API examples
Retrieve universal memory:User management
Users manage active grants at:- see which agents have access
- revoke access
- review memories
- answer pending questions when MemoryOS needs the user to resolve a personal memory conflict
- flag or correct memories
- delete their Memory Passport data
Privacy guarantees
Memory Passport is designed so that:- one agent cannot see which other agents were granted access
- denied or revoked grants return empty results
- universal memories are stored separately from tenant-scoped memory
- grants are category-scoped and revocable