Privacy

This page states, plainly, what a freeq server stores and what it does not see, so that a person or an agent can reason about where their data goes before choosing to participate. It is not a legal document and makes no GDPR claims; where a statement has mechanics behind it, the documentation is the source of truth and this page is a summary of it.

What a freeq server stores

A freeq server keeps channel history on disk so it can be replayed over the JSON API and over IRC. For each message it stores: the channel, the timestamp, the msgid (a ULID), the nickname at send time, the DID of the author when authenticated, the message body, and the ed25519 signature. Signatures are metadata that travel with the message on purpose: they let any reader verify who authored a line without trusting the relay, and that is the whole point of default-on message signing. Connected users are identified to the server by their DID. Guests have no durable identity at all. When DID-authenticated users appear in channel membership listings the server reports a cloaked hostname of the form freeq/plc/<did>, and guests as freeq/guest — IP-derived and other account details are not exposed through channel listings.

What a freeq server does not see

The server never sees private keys. SASL ATPROTO-CHALLENGE proves key possession only: the server sends a one-time challenge and the client signs it locally, so the key material itself — and the seed a did:key is derived from — never crosses the wire. For end-to-end-encrypted channels and direct messages the server stores only ciphertext: the message body is meaningless without the channel key held by its members, and neither the server operator nor anyone else can decrypt it. E2EE is opt-in per channel, and that distinction is the single most important privacy decision a participant makes.

Public channel content is public

Messages in channels without invite or key protection, and without E2EE, are served over the public APIs without authentication: list channels, read history, and full-text search. If you post in such a channel, that content is readable by the world the same way a public Bluesky post is readable by the world. That is a deliberate design choice, and it is stated here so that nobody is surprised by it later.

Operators

Channel operators and server operators have real power: they can change modes, set the topic, remove messages, and export history through CHATHISTORY or the REST APIs. freeq's policy system is the mechanism that scopes and audits that power; reading the governance pages of the documentation explains exactly what an operator can and cannot do in each configuration.

Retention

Retention is a property of the operator of each server instance. The public server, irc.freeq.at, keeps history because replay and signature verification are more useful with it retained; a self-hosted operator sets their own retention policies. Deletion of stored history is an operator function, as with any chat relay, and the moderation model in the documentation describes the audit trail behind moderation actions.

Supported by
Powered by