# Save a finding

> Keep your agent's conclusion, stated measurements and reference snapshots for signed-in teammates.

Canonical page: https://anectico.com/docs/investigate/findings/


A finding keeps a conclusion your agent wrote, its stated measurements and references to the
objects behind it. A teammate opens the proof link and sees what was saved, when, and whether
it was withdrawn. Save only when you ask or agree.

## Ask your agent

> Investigate this customer's checkout failure. Show me your conclusion, the numbers with their
> window and population, and the issue and person you will reference. Then save one finding and
> finish with its proof link.

> Read this finding and tell me whether it is current, superseded or withdrawn.

The agent discovers `get_finding` and `list_findings` through `list_read_actions`, then calls them
with `execute_read_action`. It discovers `create_finding`, `revise_finding` and `withdraw_finding`
through `list_write_actions`, then uses `execute_internal_action`. A write first returns a readable
preview and a confirmation token. The agent shows you the preview before applying that same
request with the token. Saving requires your agreement; the confirmation token is not agreement
by itself. Follow the returned proof link, never an address invented by the agent.

The CLI commands are `anectico findings create`, `anectico findings get`, `anectico findings list`,
`anectico findings revise` and `anectico findings withdraw`. Writes require `--yes`. To save a JSON
finding document, use `anectico findings create --file finding.json --yes`. For title and conclusion
only, use `--title` and `--conclusion`. The file contains `title`, `conclusion`, optional
`measurements` and `references`; see [REST API](/docs/reference/rest-api#saved-findings).

## What is kept

The agent's title and conclusion are kept exactly as written, as untrusted evidence. Measurements
keep a name, number and unit, absolute UTC start/end, population description, a size or “not
counted,” certainty and the name of the read the agent says produced them. Every number is labelled
**stated by the author**. Anectico does not independently verify these numbers, even when a
reference names an analytics result. The finding's own conclusion block counts its saved items;
it does not certify the agent's conclusion. Once content is deleted, its original item counts are
unavailable, not zero.

For supported references, Anectico checks that the author can read the object in this project and
captures a few display facts with a capture time. These are labelled snapshots. Issue, trace,
person, session, release, incident, dashboard and finding references support capture. A release
capture checks the version known to this project and its first-seen time. Agent run and analytics
result references are **unverified**, with no captured facts: there is no small id-only capture
read for these, and a result id cannot prove the supplied measurements. Each unverified reference
explains its limit. A supported reference
that the author cannot read refuses the whole save. Person references store only the person's id,
never their name or profile.

Raw telemetry and replay recordings are not copied. A live object link is labelled **live: may
have changed or expired**, and still requires that object's own permission. A release currently
has no proof page. Titles are limited to 256 UTF-8 bytes, conclusions to 16384, with at most 32
measurements and 32 references. Captured text facts are limited to 256 bytes. A lineage has at most
100 revisions and 100 person dependencies. A project holds at most 10,000 revisions, including superseded and withdrawn revisions;
withdrawing does not reclaim a historical slot. Lists page metadata only, default 20/max 100, with no
counted total.

## Lifetime, revisions and erasure

Findings stay until withdrawn or the project or workspace is deleted. Revisions cannot be edited:
`revise_finding` saves the next revision, linked to the earlier ones. The earlier document remains
readable through the agent tools. The proof page labels superseded revisions and links to the
current one.

Withdrawing deletes all content in the revision lineage. Its tombstone keeps the finding id,
withdrawal time, who withdrew it and a reason class. It keeps no title, conclusion or measurement text. The reason
classes are user_withdrawn, incorrect, privacy and replaced; there is no stored free-text reason.

If a referenced person is erased, or a revision exactly names an identifier or name Anectico
holds for them, the whole lineage is withdrawn and its content is physically
deleted. The empty page says **withdrawn because a person it named was erased**, with no erased
person id. Dependencies are carried through later revisions and references to another finding.
A person's export includes the matching finding ids, revision clocks and their id-only capture
facts. It excludes shared author prose and other people's captures to avoid disclosing their text.

Erasure checks identifiers and names Anectico holds for the person, matched exactly in every
revision's title, conclusion and each measurement's name, unit, population and named read,
including previous values still held in profile history.
Matching ignores case and normalizes Unicode, uses whole-token
boundaries, and needs at least four letters or digits. A nickname or a description is not matched,
nor is the original value of an email stored only as a redacted placeholder. Short names are not
matched by themselves. The read includes these limits. Reference every person a finding names
and keep personal details out of all its author-written text.
An oversized or incomplete held-value snapshot refuses erasure before deletion. Held terms are
never silently dropped to finish it.

## Permissions and sharing

`findings:read` is granted to viewers and every member; `findings:write` is granted to members.
An agent key must be given write explicitly. It is **not** in the default investigate key bundle.
Use a deliberately scoped key with `findings:write`, `findings:read`, `projects:read` and the read
permissions for the objects you reference. MCP also needs `mcp:read` and `mcp:write`. A read-only
OAuth connection can investigate; saving needs the write key. See
[Permissions](/docs/reference/permissions).

A finding deliberately shares the author's captured facts with teammates who hold findings:read.
Reading it needs no extra reference-kind permissions. Following a live source link applies that
source's own permissions. Proof pages require sign-in to the same workspace. There are no public
finding links, menus, builders or buttons that change a finding on the proof page.
