@meta
  v: 1
  route: /guide
  generated: 2026-11-02T00:24:17Z
  ttl: 1d

@intent
  purpose: "The ZipGuard server guide: permissions, the five install steps, what members and moderators see, every setting with its default, how the score works, raid mode, anti-nuke, link defense, dashboard, operator inbox, troubleshooting"
  audience: server-owner, moderator, ai-agent
  capability: learn, configure, troubleshoot, contact

@state
  page: ZipGuard server guide
  sections[13]: Before you invite, "Install, in five steps", What members see, What moderators do, Settings, How the score works, Raid mode, Anti-nuke, Link defense, Dashboard and stats, For ZipGuard operators, Troubleshooting, Support
  install_steps[5]:
    - Apply at zipguard.dev/pilot with your server name and ID. The thanks page has the invite link; invite the bot right away.
    - "The bot posts \"waiting for approval\" in your server and does nothing else. A ZipGuard operator approves applications by hand, usually within a day; the bot then posts \"approved, run /setup\"."
    - "Run /setup. It creates #zipguard-log (private, for moderators), #verify (visible only to held members) and the role \"zipguard quarantine\", hides every existing channel from that role, and turns on shadow mode for 7 days. Under a minute."
    - "Drag the zipguard role above \"zipguard quarantine\" in Server Settings, Roles. Without this the bot cannot apply or remove the quarantine role, and the challenge button does nothing. This is the most common setup mistake."
    - "Watch #zipguard-log for a week. Every verdict is logged with its reasons and nothing is enforced. When the verdicts look right, run /zipguard shadow on:false."
  settings[6]{command,what_it_does,default}:
    /zipguard thresholds medium:30 high:70,Scores that trigger the challenge and the high action,30 and 70
    /zipguard action do:flag,"What high risk gets: flag (hold for a mod), timeout 10 minutes and hold, kick, or ban",flag
    /zipguard raid threshold:10,Joins inside one minute that start raid mode; 0 turns it off. `end:true` ends an active raid mode,10
    /zipguard antinuke on:true,"Revert three channel or role deletes by one account inside a minute, strip that account's roles",on
    /zipguard links on:true,"Quarantine lookalike links, scam wording with a link, or the same link in three channels (needs link defense enabled on the bot)",on
    /zipguard banlist on:true,"Share bans with other servers run by the same owner, as salted hashes; a joiner banned there scores +70",off
  score_rules[3]:
    - "Each rule adds or subtracts points: account under a day old +40, under a week +25, under a month +10, default avatar +10, public badges -15, five or more joins in a minute +25, three or more through the same invite +20, two or more recent joiners created within a day of this one +30, raid mode +30, banned in a sibling server +70."
    - "0 to 29 is low (nothing happens), 30 to 69 is medium (one-click challenge), 70 and up is high (your chosen action). Change the bands with /zipguard thresholds."
    - "Raid mode checks everyone regardless of score. Every log entry lists the exact rules, so you can see why."
  troubleshooting[6]:
    - "The \"I'm human\" button does nothing, or a held member keeps the role: drag the zipguard role above \"zipguard quarantine\"."
    - A held member can still see some channels: a role with an explicit View Channel allow on those channels wins. /setup lists such roles; remove the allow or accept it.
    - "Commands are missing: they register the moment the bot joins and again at every restart. If they still do not appear, kick and re-invite the bot."
    - Nothing is being enforced: shadow mode is on. /zipguard stats says so in its first line; /zipguard shadow on:false ends it.
    - Anti-nuke fired on a legitimate admin doing cleanup: give the roles back by hand; next time run /zipguard antinuke on:false first.
    - /setup again is safe: it repairs missing channels and roles and keeps your settings.
  operators[3]:
    - /zipguard pilot-inbox in a channel makes it the inbox: every application from zipguard.dev appears there within a minute as a card with Approve and Reject. Run it again elsewhere to move the inbox; off:true turns it off. Only the owner of the bot application can set an inbox.
    - "Approve flips the gate for that server: if the bot is already in it, it posts \"approved, run /setup\"; if not, it says so the moment it joins. Reject leaves the bot dormant there."
    - "Applications are kept on the website host for 90 days; the card shows the server name, ID, the applicant's Discord username, size and note."
  data_statement: /data.agent
  roadmap: /roadmap.agent

@actions
  - id: read_human_page
    method: GET
    href: /guide
  - id: apply_for_pilot
    method: GET
    href: /pilot
  - id: read_data_statement
    method: GET
    href: /data
  - id: email_support
    method: GET
    href: mailto:help@myagents.email

@context
  > Everything a server owner or moderator needs, in the order you will need it. Commands are typed in any channel; replies are visible only to you unless noted.
  > The most common setup mistake is leaving the zipguard role below the quarantine role; the challenge button then does nothing.
  > A privacy-first Discord security bot. Checks inside Discord. Explainable decisions. Moderators stay in control. No IP collection, no ads, free for every server.

@nav
  self: /guide.agent
  parents: [/.agent]
  peers: [/.agent, /pilot.agent, /data.agent, /roadmap.agent, /policy.agent]
