Visibility and commenting
Needs gander signup. These commands are hidden from gander --help until a token is saved.
Every hosted file has two independent policies: who can open the page, and who can comment. Set them from the CLI when you share or watch, or later from the dashboard. They apply to the live URL. They do not change the file on disk.
You need signup. Reviewers never set these. Authors do.
Document visibility
This is who may GET /s/{short_id} and see the markdown.
| Value | Flag | Who can open the page |
|---|---|---|
| anyone | default on first share | anyone with the link |
| private | --private or --visibility=private |
you and invited team. Anonymous visitors get 401. A signed-in stranger gets 403. |
| hidden | --visibility=hidden |
nobody. The URL 404s. The share still appears in gander list and the dashboard so you can turn it back on. |
gander share plan.md
gander share plan.md --private
gander watch plan.md --visibility=private
gander share plan.md --visibility=hidden
gander share plan.md --visibility=anyone
--private and --visibility=private are the same setting. Use hidden when you want the link to go dead without deleting the share.
Private docs are how team review works with invites. Hidden is unpublish, not access control for a known reader.
Commenting
This is who may start threads, reply, resolve, and unresolve. It is not the same as visibility.
| Value | Flag | Who can comment |
|---|---|---|
| private | default on first share | you and team |
| anyone | --comments anyone |
anyone who can already see the doc |
| disabled | --no-comments or --comments disabled |
nobody. The viewer gets an empty thread list and can_comment=false. |
gander share plan.md --comments private
gander share plan.md --comments anyone
gander share plan.md --no-comments
gander watch plan.md --comments disabled
Anyone-commenting requires anyone-visibility. You cannot have a private doc with public threads. The dashboard hides the Anyone commenting option when visibility is not Anyone.
Disabled still lets people read the doc if visibility allows it. They just cannot open threads.
Do not send defaults on every save
The CLI omits a JSON key unless you passed the matching flag. That is load-bearing. A gander watch loop that always sent comment_access=private would reset a share you had set to disabled or anyone.
So this is safe: share once as private, then watch without flags.
gander share plan.md --private
gander watch plan.md
The second command updates content only. Visibility stays private. Commenting stays whatever it was.
The same rule applies to ~/.gander/config.json defaults: they are first-create only. Re-share or gander watch without flags does not reset policy from that file.
To change policy later, pass the flag again or use the dashboard. PATCH on the API is the same idea: send only the fields you mean to change.