Configurable Privacy
So your agent is still chewing on plan.md, and you need another human on it before anyone pretends this is ready for a PR. The muscle memory is brutal and familiar: drop it on a public gist, copy the URL, ping the channel, done. One upload. One link. You feel productive for about four seconds, and then you remember what you just did. You published a working draft. Not a blog post, not a release note, a half-finished plan the agent is still allowed to rewrite, sitting on a URL that anyone can open and that outlives the review by months.
That is a terrible default for a review surface. The rest of this post is about why Gander lets you keep the hosted link private, what else you can configure, and how that is different from the “reviewer only needs a browser” cut we already shipped.
The substitutes you reach for when you are in a hurry
Public gist is fast. Anyone with the URL can open it. You get a link, which feels like the whole job, but you do not get a live watch of the local file the agent actually owns, and you do not get agent connect into the session. When the plan moves, you republish, or you argue about a snapshot while disk keeps changing under you. Fine for a throwaway paste. Wrong tool for a still-moving agent plan.
Slack paste wins on interrupt. The blob lands where people already live, which is why we all do it. The blob is also frozen. There is no live file behind it, no Docs-style threads anchored to lines, and no structured inbox for the agent. Comments scatter across messages. Someone still copies feedback into the prompt by hand and hopes the agent notices the right paragraph.
Tunnel or “open a port and look at my machine” is show-and-tell. Useful for two minutes of shared cursor energy. It is not a hosted review link with visibility you chose, durable threads, and agent connect after you hang up.
Notion with a shared page scratches the org-ACL itch. The wiki is a second copy. The coding agent does not own that page. Comments there do not reach the session that is rewriting plan.md on disk. You get collaboration theater on a fork of the plan, not review of the plan.
Each of those substitutes is good at a different job. The job here is narrower: a live review link for a plan the agent is still writing, without turning that plan into a public paste by accident.
What Configurable Privacy actually means
Gander calls this Configurable Privacy. Visibility and commenting policy are set per share, on purpose, as product behavior you can check rather than a vibe.
Hidden shares 404. Private shares prompt for sign-in. Commenting can be anyone, private, or disabled. Privacy sits on the share itself. It is not a later enterprise sticker you bolt on after the team has already trained itself to public-gist every plan “just for a quick look.”
None of that changes the rest of the loop. The reviewer still only needs a browser and a sign-in. No IDE, no repo clone, no agent account. Author installs; reviewer does not. Local file stays source of truth. Hosted page is live view plus threads. Watch, comment, @agent, same link updates, then git. Before git, not instead of git. Full loop is shipped. Privacy is which eyes land on that link. It is not a different product category, and it is not a reason to invent a second product story.
Capability versus access policy
We already wrote the browser-only cut. That post answered a capability question: can your teammate review without living in your IDE, your repo, and your agent account?
This post is access policy. Who is allowed to open the share, and under what commenting rules? Same beachhead (engineer author, browser reviewer, plan still moving). Different spine. Do not flatten them.
A public live link that anyone can open is still “browser-only” in the capability sense. It is also the wrong default for a plan the agent is still rewriting. Out of the box, a first Gander share is visible to anyone with the link, with commenting limited to you and your team. Configurable Privacy means you get to change that default. Keep the browser path, skip the public-paste reflex, and widen visibility later when that is the right call.
Why you should set the default, not leave it to habit
Agent plans are not throwaway public pastes. They are working documents. They name approaches you may abandon by lunch. They sketch systems that are not for the open web yet. They get rewritten between comments, sometimes aggressively, which is the whole point of reviewing before git.
If your shares start public, every “quick review” is a publication decision you did not mean to make. The link outlives the review. Forwarded URLs, search crawlers, and “someone found this later” become part of the blast radius. You thought you sent a review surface. You shipped a working draft with an open URL.
If your shares start private, review stays review. That takes one flag: gander share --private plan.md. Or set private as your first-create default in ~/.gander/config.json, and every new plan starts there. You can still open it up when the draft is ready for a wider circle. Commenting stays a separate knob: open threads, private threads, or off. Hidden means the URL does not resolve for the wrong visitor. Private means sign-in before read. Those are concrete behaviors. They are not marketing adjectives.
This is advocacy, not a conversion study. I am not going to invent how teams pick visibility in practice, or claim private shares convert better than public ones. I am saying a review link for a still-moving plan should not default to a public paste. Privacy is part of the review surface. It belongs next to the loop, not in a later “enterprise” chapter after everyone is already pasting plans into gists.
Sibling posts already covered when to review relative to execute, who can review without an IDE, where truth lives on disk, how threads survive a rewrite, and why watch plus threads plus agent connect define the product. This one does not reopen those spines. It only asks what the hosted link assumes about access before anyone leaves a comment.
What this is not
Not security theater. Not bank-grade language. Not SOC2 flex. Not invented traction. Not “teams trust us with secrets.” Identity details for marketing stay out of this post on purpose. Client portals, white-label, and custom domains are not the story.
Not “share markdown” as the lead. Not a pretty gist competitor. Not replace GitHub or Notion. Not a PM beachhead. Not a rehash of the three-pieces definition or the browser-only thesis dressed up as privacy.
If you need the install path, it lives on the product docs. This essay’s job is the default on the link, not a cheat sheet at the end.
Count the default before you paste
The next time you are about to public-gist a plan the agent is still writing, pause long enough to ask what the link is actually for.
If the job is a throwaway public paste, a public gist wins and you should use it without guilt. If the job is live review with threads and an agent that can act on the comment, public-by-default is the wrong starting point, so change yours. You want a review surface where you choose privacy before the first share, set visibility and commenting per share, and still leave the reviewer on a browser with the loop intact: watch, comment, @agent, then git.
The share is a review surface. Set your default before you paste, and treat it like it matters, because it does.