---
title: "Mental model"
description: "The five product ideas that explain Artifact Server's hierarchy, versions, attribution, providers, and linked files."
---

> Documentation Index
> Fetch the complete documentation index at: https://artifactserver.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mental model

Five ideas explain most Artifact Server behavior.

## 1. Artifact links can select different immutable versions

An artifact is the durable record people recognize. Each publication adds a version with immutable bytes and identity. The artifact's current-version pointer can move forward or be restored to an earlier version without rewriting history.

## 2. One installation contains projects

An installation represents one person, team, or company. Projects group related artifacts. Each artifact belongs to one project. Each version belongs to one artifact.

## 3. Attribution and idempotency are product behavior

Publications, access changes, comments, restores, and destructive actions record who acted. Retried requests must return the same result rather than create new durable state.

## 4. Storage providers do not change product behavior

SQLite and local files, Postgres and S3-compatible storage, and Cloudflare D1 and R2 implement narrow ports. Storage paths, database details, and deployment SDKs do not choose product behavior.

## 5. Linked files still produce captured versions

A linked local file can provide a live view for admitted local members. Every shareable or public version remains a captured immutable snapshot. File changes never modify a captured version.

## The hierarchy

```text
Installation
└── Project
├── Artifact A
│   ├── Version 1
│   └── Version 2 ← current
└── Artifact B
    └── Version 1 ← current
```

Source: https://artifactserver.com/docs/concepts/mental-model/index.mdx
