Server settings

Attachments & media

Upload limits per media type, allowed formats, retention and signed-URL lifetimes.

Admin onlyApplies instantly

Every kind of file users can send has its own policy. Message attachments are the broad one — avatars, logos and emojis are narrow image pipelines with per-type dimensions.

Message attachments

maxAttachmentSizeMb integer

Maximum size of a single attachment; oversized uploads are rejected before transfer.

maxAttachmentsPerMessage integer

How many files one message can carry.

attachmentAllowedMimes list

Allowed MIME types — checked server-side on the real content type, not the extension.

defaultAttachmentRetentionDays days

Attachments older than this are purged by the scheduler; purged files leave a placeholder, message text stays.

Warning

Shrinking size limits never deletes existing files — it only gates new uploads. Use retention to expire old ones.

Image pipelines

avatarMaxSizeMb / avatarMaxWidth / avatarMaxHeight

User avatars.

logoMaxSizeMb / logoMaxWidth / logoMaxHeight

Community logos.

communityEmojiMaxSizeMb / …MaxWidth / …MaxHeight / …AllowedMimes

Custom emojis — animated GIFs pass through unflattened.

Signed URLs

Files are never served from a public bucket — every link is signed and expiring:

Setting Governs
mediaTokenTtlSeconds Attachments, avatars, logos
communityEmojiTokenTtlSeconds Custom emoji images

Longer TTL = browser caches work harder; shorter = a revoked member loses media access sooner. Emoji URLs use bucketed signing so timelines full of :shortcodes: stay cacheable.