freeq's policy system lets channel operators define access rules using verifiable credentials. Instead of "trust the op," access decisions are transparent and auditable.
POLICY #dev SET REQUIRE github:org:mycompany
This means: to join #dev, you must prove you're a member of the mycompany GitHub org. The server's GitHub verifier checks this via OAuth and issues a credential.
POLICY #channel SET REQUIRE <credential-type>
POLICY #channel SET REQUIRE ACCEPT-RULES
POLICY #channel SET REQUIRE <type1> AND <type2>
POLICY #channel INFO
POLICY #channel CLEAR
| Type | What it checks |
|---|---|
github:org:<name> |
GitHub organization membership |
github:repo:<owner/repo> |
GitHub repository collaborator |
accept-rules |
User clicked "I accept" on channel rules |
More types planned: Bluesky follows, domain handle, minimum follower count.
The web client has a visual policy editor in Channel Settings:
Users listed as DID operators for a channel always bypass policy checks. This prevents founders from being locked out of their own channels.
irc-policy.db)did:web:irc.freeq.at:verify)verifier-signing-key.secretSee Policy System for the full technical reference.