Anyone can request an account from the sign-in page. They pick a handle, write a note about themselves, and accept the Terms (18+, safe for work).
Requests appear under Account requests, oldest first. Approve lets them post right away. Deny deletes the pending account and frees the handle.
Pending accounts can sign in and read, but can't post, follow, reply, or upload. Other servers can't see them at all.
Know someone already? Make an invite: whoever uses it skips the approval queue. Each invite works once.
Approving servers
ten4 starts out talking to no other servers. Every other fediverse server is refused until you approve it.
When a server tries to reach ten4 (someone there follows or messages a ten4 driver), or a ten4 driver looks someone up there, it lands under Waiting with what it tried.
Before approving: visit the server, read its rules and "about" page, check who runs it and whether it moderates. Write what you found in the note.
Approve lets it federate. Deny blocks it (it moves to Blocked servers). Forget just clears it from the list. Revoke cuts off an approved server; to also delete what it already sent, block it with "delete" checked.
To approve a server that hasn't knocked yet (for example, a friend's Mastodon server), type it under "Approve a server by hand".
Messages
Anyone can write to you from /contact, signed in or not. No email address is published.
Messages from ten4 users can be answered right here: they see your reply on their Contact page, with a notice at the top of every page. Signed-out senders can only be reached at the contact they left (if any).
Mark handled when you're done; a follow-up from the sender reopens it. Delete removes the message and its replies for good.
Reports and suspensions
Reports from ten4 users and from approved servers show up under Reports. Remove the post, suspend the account, or dismiss.
Anything not safe for work breaks the Terms: remove it. Repeat or serious cases: suspend.
Storage
Every account gets 5 GB for photos and videos (STORAGE_QUOTA_GB in .env). Users see warnings at 80% and 95%.
Over the limit, their oldest media is scheduled for removal 14 days out. They see the list and a download button, and deleting posts cancels it. Removal runs hourly and is permanent.
Plan disk space for (number of accounts × the quota), plus room for backups.
Changing the Terms
Edit web/templates/terms.html and change its version date.
Set TermsVersion in internal/accounts/accounts.go to the same date.
Deploy. Everyone sees a notice and must accept the new terms before posting again.