# Concepts

Notes, blocks, types, properties, collections and links — the six ideas everything else is built from.

## Notes and blocks

A note is a page. It is the unit of permission, of publishing, of search scope, and of the collaborative document underneath.

A block is one paragraph, heading, list item, table row or code fence. Each has a ULID minted when it is created, and that ULID survives splitting a block, joining two, pasting, and sending an exported or pulled file back into its note with `fp push`. Importing an export through the Import dialog creates new notes, whose blocks get new ULIDs. Everything durable points at a block: comment anchors, agent citations, the `{#blockId}` in your exported Markdown, and the chunks search returns.

> **Note:** When you split a block in two, the identifier stays with the first half. Anything anchored to it stays anchored to the text it was about.

## Types are tags, and tags are classes

Applying `#Person` to a note does two things: it gives the note that type’s properties, and it makes the note a member of a collection you can query. A type can extend others, so `#Audiobook` can be a `#Book` and a `#MediaObject` at once.

This is not Notion’s model. Notion makes you choose a database before you write. Fastpad lets you write first and classify later, including in bulk and including long after the fact.

| Property type | Holds |
| --- | --- |
| `text`, `number`, `url` | scalars |
| `date`, `datetime` | points in time; sortable and filterable |
| `checkbox` | a boolean |
| `select`, `multi_select` | one or many of a defined option set |
| `person` | a member of the workspace |
| `relation` | another note, constrained to a type |
| `file` | an uploaded attachment |

Two types can define the same property name without colliding: `Person.email` and `Contact.email` are different properties on the same note.

## Collections

A collection is a saved view over a type: filters, sorts, grouping and a layout. Six layouts — table, board, list, gallery, calendar and timeline — over rows that already existed as notes.

A view embedded in a note and a view opened from the sidebar are the same object. An embedded collection stores the view, never the rows, because a collection is a saved question and rows in a block would be a stale copy of the answer.

## Links and the graph

Typing `[[` or `@` creates a typed edge, not a piece of text that happens to look like a link. Every note shows its backlinks, and edges carry evidence — which is why a link can answer “why is this connected?” rather than only “that it is”.

Some edges are asserted by you and some are inferred by the system. Inferred edges decay; asserted ones do not. Promoting an inferred edge is one gesture, and until you make it, no agent search will walk that edge to reach content through it.

## Trash, archive and delete

| Action | What happens | Reversible |
| --- | --- | --- |
| Archive | The note stays open, linkable, greppable and exportable. It drops out of search results. | yes |
| Move to trash | The note leaves the sidebar. Its blocks, history and links all stay. | yes, from the trash |
| Purge | The rows are removed after the retention window. | no |

Archiving is something a person does, never something a model decides. Lost notes are the single largest source of one-star reviews in this category, which is why restore was built before hard delete was.
