# Namespace EchoHub.Server.Services | EchoHub Documentation

# Namespace EchoHub.Server.Services

### Classes

ChannelService

ChatService

DirectoryClaimStore

  Persists and exposes the EchoHubSpace directory claim — the opaque token issued on first registration and the row's stable `ServerId`. Also surfaces ephemeral registration status (success/failure code, conflicting hosts) for operator-facing endpoints.

  Persistence uses atomic write (tmp + rename). Treat the file contents as a secret.

FileCleanupService

FileStorageService

LinkEmbedService

MessageEncryptionService

MuteExpirationService

  Background service that periodically unmutes users whose timed mute has expired.

PresenceTracker

RegistrationStatus

ServerDirectoryService

SignalRBroadcaster

SpamGuard

  In-memory, per-user spam protection consulted from ChatService (messages, joins) and ChannelService (channel creation), so every ingress protocol — SignalR and IRC alike — shares the same limits. State is per-process and never persisted; auto-mutes land in the normal mute store. Operates only on content the server already stores (for end-to-end encrypted rooms that is ciphertext) — nothing is decrypted.

UserService

### Structs

SpamVerdict

### Enums

SpamVerdictKind