diff --git a/README.md b/README.md
index 503dafab..af4fe358 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@
🔌 Offline and private
- Your files are plain .figcraft archives on your own disk. No account, no cloud, no telemetry. SVG, PNG, JPG, WebP and PDF in and out; .fig files open (best effort), and so do designs exported as the public REST API file JSON, with their prototypes and variables.
+ Your files are plain .figcraft archives on your own disk. No account, no telemetry, and nothing leaves your computer unless you share a file (what sharing sends where). SVG, PNG, JPG, WebP and PDF in and out; .fig files open (best effort), and so do designs exported as the public REST API file JSON, with their prototypes and variables.
|
🤖 Agent-ready
@@ -260,6 +260,28 @@ Installers for macOS (universal, signed and notarized), Windows (x64, x86 and ar
> [!IMPORTANT]
> **Status:** FigCraft is in **alpha**: about 49% of the way to replacing Figma for real work, by our own estimate. Nearly all of Figma's main menu is wired ([`docs/parity-checklist.md`](docs/parity-checklist.md)) and the core editor works end to end, but FigCraft opens `.fig` files only best effort, has only a first preview of multiplayer (live sessions hosted from the app or a self-hosted server, with per-person undo and share links to edit or to view; no accounts, teams or cloud yet), runs its own WebAssembly plugins rather than Figma's, and hasn't been checked against real Figma documents. The honest, area-by-area picture is in the [roadmap](ROADMAP.md) and [`docs/target-app-parity.md`](docs/target-app-parity.md). Expect rough edges and please file issues, or tell us what broke on [Discord](https://discord.gg/artcraft).
+## Privacy and online sharing
+
+FigCraft works offline: it has no account and no telemetry, and it contacts no server until you
+share or join a file. Live sessions are a **preview**. Before you share anything that matters,
+know what sharing does:
+
+- **Share â–¸ Online uploads the file to a server.** By default that is the public server at
+ `collab.craftapps.dev`; you can set another one, or your own, in Preferences. The file stays on
+ the server after you stop sharing, until you remove it (Share ▸ Advanced ▸ Remove from server…)
+ or nobody has opened it for 30 days, when a public server deletes it.
+- **It is not end-to-end encrypted.** The connection to the server is encrypted (TLS), but the
+ server stores the file unencrypted and whoever runs the server can read it. Don't share
+ confidential work through a server you don't trust; run your own
+ ([`docs/server.md`](docs/server.md)) or share on the local network instead.
+- **The code or link is the access.** There are no accounts: anyone who has an edit code or link
+ can open and change the file, anyone with a view code or link can open it. Stop sharing revokes
+ them and disconnects everyone else.
+- **Share â–¸ Local network involves no server**, but it is not encrypted either: your app hosts
+ the session and others connect to it directly, so use it on networks you trust.
+- **No guarantees.** The public server is offered as is, without backups or uptime promises, and
+ files on it can be removed. Keep your own saved copy of anything you share.
+
## The Crafting Apps
FigCraft is one of the **Crafting Apps**: free, open-source creative tools from the
diff --git a/docs/server.md b/docs/server.md
index 813de025..445200b0 100644
--- a/docs/server.md
+++ b/docs/server.md
@@ -667,6 +667,11 @@ sudo systemctl start figcraft-server
## Security
+- **Not end-to-end encrypted.** TLS (from the reverse proxy) protects files on their way to and from
+ the server; on the server they are stored unencrypted, so the operator and anyone who can read
+ the data directory can read every file. Tell the people who publish to your server so (the
+ README's [Privacy and online sharing](../README.md#privacy-and-online-sharing) says it for the
+ default public server), and set `operator_contact` and `terms_url` on a public one.
- **Access** is a share link (128-bit random token) per file and access level, an owner token
(128-bit) per file published without the key, or the server key (128-bit) for managing files.
Tokens are stored as SHA-256 hashes and every comparison runs in constant time; revoking a link
|