---
slug: public-memory
title: "Public memory: memories anyone can read"
description: "Anyone attaches and reads without an invitation, but nobody writes, and only AiAkiv can create one for now. The two ways to attach, and the public attach that ties one into your own team."
lang: en
---


# Public memory: memories anyone can read

AiAkiv's memories are owned by teams, and search outside the team turns up
nothing. **Public memory is the exception**: a team opened for anyone to read
from the start.

> **In one line.** **Anyone can attach and read without an invitation. Nobody can
> write.** And **anyone can tie one straight into their own team**: no consent
> from the other side, no invite code. But **only AiAkiv can create a public
> memory for now.**

## 1. What's different

An ordinary team requires an invitation to enter. Public memory has no such step.

| | Ordinary team | Public memory |
|---|---|---|
| Getting in | Invitation → accept | **None**: attach directly |
| Membership | Required | **Not needed** |
| Reading | Members only | **Anyone** |
| Writing | Depends on role | **Nobody** |

**Read-only has no exceptions.** Even the owner can't write from there, a
connection attached to public memory has the save capability itself switched off.
To save, you must return to **a project in your own team.**

### Only AiAkiv can create one, for now

**Users cannot create a new public memory.** Every public memory that exists
today was created by AiAkiv.

Once something is public, anyone reads it, it turns up in search, and taking it
down doesn't retrieve what others already have. So we need a way to catch
material that is illegal or shouldn't have been published in the first place.
**Once that is in place, creation will be opened to users as well.**

## 2. Attaching to read: two ways

Choose from the console's **Explore (public read)** screen. The list is **the same
for everyone**: every public team is visible regardless of what you own.

### ① Point the save target (Main) at it

Press the `switch` link and you're in a state of reading that public team.
Simple, but **saving is blocked while you are**: Main points at something
read-only. Use it for a quick look.

### ② Pin just one connection to the public team

Put `?project=__public:<team id>` in a config and **only that connection** reads
the public team. Main is untouched, so **your other connections save as usual.**
It's the same structure as folder binding ([Folder
binding](folder-binding)).

> **You can't create a project-pinned key for a public team**: it isn't your
> project. To attach with an API key, issue an **account key**
> ([Authentication](auth)). Two headers do different jobs here:
> `Authorization` is *who you are*, and `X-K2G-Project` is *what you're reading*.

Once attached, calling `get_save_target` shows `binding` as
**`"public-read"`**. That's also where you confirm why saving is blocked
([Claude Desktop](desktop-binding)).

## 3. Tying it into your own team: public attach

This is how you use public memory properly.

**Attaching to read and having it come up in your own questions are different
things.** Attach directly to a public memory and you read only that memory: it
doesn't mix with yours. **Public attach** joins the two.

Turn it on in **Console → Teams → Links → Public attach.**

- **No consent from the other side, no invite code.** The memory is already
  public, so a switch is all it takes. That's what differs from an ordinary link,
  which goes through both owners' agreement ([Links](links)).
- **You choose which team to tie it into.** Turn it on per team.
- Turning it on **automatically connects things with identical names on both
  sides.** That's what lets traversal cross from your memory into the public one.
- **Turning it off** stops traversal from following, and the name connections are
  cleaned up. You can turn it back on any time.

With it on, **the link tools look at the public memory alongside yours** during a
conversation. A question that starts in your memory crosses into the public
material and comes back.

### The name connections need tuning

Only things with **exactly identical names** connect automatically. Missed pairs,
and the same thing under different names, **have to be connected by hand**; wrong
connections get **excluded**. The public side's list shows **only names that
appear in the public memories.**

Why name connections matter and how to tune them is the same as in
[Links](links). **The public memory and yours have to be joined by name
before traversal will cross.**

## 4. What to expect

Public memory is **not a store of original text.** It doesn't stack up statistical
figures or report bodies as they are; what goes in is **memories shaped into
something worth asking about.**

> "Oil prices are at a 24-month high"
>
> "The OECD cut its German growth forecast from 1% to 0.66%"

Because "unemployment rate 4.2%" is not, in itself, an event worth remembering.
What's kept is **change, connection, and history.** If you need the original, go
to that institution's source.

## Common problems

- **I want to create a public memory myself.** Not possible yet. Only AiAkiv can,
  and creation will open up once there's a way to catch illegal material (§1).
- **I attached but can't save.** That's normal. Public memory is read-only; to
  save, point Main back at a project in your own team.
- **I can read the public memory but it doesn't come up in my questions.** You
  attached but **didn't turn on public attach**, or turned it on but **no names
  connected**. See §3.
- **Irrelevant results are mixed in.** A common word got connected wrongly.
  **Exclude** it in the name connections.
- **I want to attach with an API key but can't create a project key.** Because a
  public team isn't your project. Use an account key (§2).

## Related

- The basic structure where a team owns memory → [Teams and projects](teams-and-projects)
- Team-to-team links by agreement, and name connections → [Links](links)
- Pinning just one connection to a project → [Folder binding](folder-binding)
- Account keys and project keys → [Authentication](auth)
