Use DIN as a team, self-hosted
This page is the self-hosted team setup that works today, stated plainly. A self-hosted field is one machine: several people can review the same field, but the field, its records and its agents' capture live on that one machine. Putting several machines' work into one shared field is what the hosted plans are for, and no hosted plan is on sale yet.
Who counts as a person
A person is anyone who stamps a position in the field's review queue, by the name they stamp under. The field counts the different names that have stamped it.
- Free: up to 3 people review one field, with 1 AI agent on it (its history imported; live capture is paid).
- Team review (every paid plan): a fourth person, and beyond, on the same field. Without it the field refuses a fourth new name, and the three who already stamp keep stamping.
Nothing about a stamp changes with the plan: it carries a name, a date and a reason, and a record whose producer also stamped it is marked self_reviewed on every plan.
One machine runs the field
Pick the machine that holds the record (the "team box") and install DIN there as usual (Install). Its field listens on that machine only: 127.0.0.1:8093 for the first field (din field list shows each field's port). From 1.0.39 it refuses to bind any other address, and it refuses a request addressed to any name other than this machine's, so it cannot be opened to the network by a setting.
The agents whose work you want in the record run on the team box, or capture into it there. An agent on a teammate's own machine captures into that machine's install, which is a separate field.
Teammates review over an SSH tunnel
A teammate reaches the field through an SSH tunnel to the team box, so their browser still talks to 127.0.0.1:
ssh -N -L 8093:127.0.0.1:8093 you@teambox
Then they open http://127.0.0.1:8093/ on their own machine. The page asks once for the field token, which is in .din/field.token under the team box's install (~/din/.din/field.token by default, readable only by its owner). Hand it over by a channel you trust: whoever holds it can read and stamp the whole field. There is no per-person token: everyone who reviews shares this one.
Each person sets the name they stamp under with stamp as on the field's page. Use one name per person, every time: two spellings of one person count as two people.
What is not a launch path
- A field open to the network. The field speaks plain
http, and the token would cross the network in the clear. The tunnel is the supported way in. AFIELD_URLon another host is refused bydinand the plugin unlessDIN_ALLOW_REMOTE_FIELD=1, and that is only for a field already behind your own tunnel. - Capture from several machines into one field.
din capturecan copy Claude Code sessions to another machine withscp(atargetofuser@host:/pathin~/.din/capture-map.json), but nothing in a standard install reads them into the field there. Treat it as operator tooling, not a team feature. - A roll-up across several machines' fields. Across machines the org roll-up and the org dependency inventory rely on
din hosted pushto a hosted plan (Push to a hosted field), and no hosted plan is on sale yet.