# Sharing a project

Axon can give another machine on the same network a copy of a project —
**read-only by default**. It is entirely local: nothing goes over the
internet, and nothing is shared until you explicitly start it. Sharing your
own project is a Pro feature; taking a copy of someone else's, and keeping it
in sync, is free — the other machine needs no licence.

## Sharing your project

Open the project menu (the project name at the bottom of the sidebar) and
choose **Share**. In **Share on this network**, press **Start sharing** —
nothing is reachable until you do, and nothing listens in the background
before that. You then get:

- A **pairing code** — read it out to the person joining. It works once and
  lasts ten minutes; **New code** makes another.
- **Connection details** — **Copy** them and paste them on the other machine
  (or let it find yours on the network, where that isn't blocked).

Under **Machines with access** you can see who has joined:

- **Grant write access** lets that machine send its own changes back into
  your project — its row shows a **Can write** badge once granted. **Revoke
  write access** takes that away without dropping the machine.
- **Revoke** removes the machine's access altogether. It stops future copies;
  anything already copied to that machine stays there.

Press **Stop sharing** to shut it down entirely. See [How to: Share a project
with another machine](https://exaflux.io/docs/axon/how-to/share-a-project-with-another-machine) and
[How to: Revoke a machine's access](https://exaflux.io/docs/axon/how-to/revoke-a-machines-access).

## Taking a copy from someone else

Open the project menu and choose **Connect**. Paste the connection details
you were given, type the pairing code, and choose whether to **Create a new
project for this** or **Attach to a project I own**, then press **Connect**.

The project is now linked to the sharing machine. To bring its files across,
open that project's **Share** window (project menu → **Share**): the sharing
machine is listed under **Collaborating with**, and **Sync now** exchanges
changes with it. Press it again whenever you want the latest. **Forget** ends
the link; files already copied stay where they are.

A new project made this way is **read-only** — marked **Pending** — until the
person sharing it grants your machine write access. Until then you can read
and chat with it, but not add, edit or remove its files; once granted, your
changes go back to them on the next **Sync now**.

Axon checks whether the two machines use the same models — if so, the search
index comes across with the files and nothing needs to be re-processed;
otherwise your machine builds its own index from the copied files, which is
slower but gives the same result.

A copy made by an earlier version of Axon shows **Shared by *name*** above its
file list instead, with **Check for changes** and **Copy now** to bring
changes across. It's read-only; **Unsubscribe**, under its name, keeps the
files as an ordinary project of your own and stops following — after asking,
since following again means connecting with a new code. See [How to: Take a copy of a shared
project](https://exaflux.io/docs/axon/how-to/take-a-copy-of-a-shared-project).

## Without Pro

Without a licence, the **Share** window offers your licence settings where
**Start sharing** would be. Everything else still works: **Connect**, **Sync
now**, **Check for changes** and **Copy now** for a project someone shared with
you, and **Stop sharing**, **Revoke**, **Forget** and **Unsubscribe** to end a
link.

## What this does not do

Only files inside the project's folder that Axon has indexed are ever shared —
anything covered by the project's **Excluded files** stays out, the same as it
stays out of your own search index. Nothing about the project is broadcast
beyond "someone here is sharing something," found only by machines already on
your network. There's no public relay involved: this works with no internet
connection at all.
