Skip to documentation

Jails and release

Use jail and unjail workflows with verified channel boundaries, release checks, and cautious saved-role restoration.

Audience
moderator · team lead · server admin
Availability
free · private beta access
Maturity
alpha · partial

Last reviewed

On this page

What jail changes

Jail places a member into the server's configured restricted workflow and records the active jail. Unjail closes that active state and attempts the supported release cleanup; the dashboard lists active records and provides a guarded release path.

Check the jail setup and member

Start with the registered Discord jail action when the member context is present, or open Active Jails in the dashboard to review an existing record and its release state.

  • A verified server jail setup and a bot role high enough for the supported role changes.
  • The correct member, reason, and intended duration or release decision.
  • Awareness that current text and voice behavior depends on the server's configured jail surfaces.

Jail, verify, review, and release

  1. Create the jail

    Confirm the member, reason, and supported jail settings before submitting the action.

    Check: An active jail record identifies the member, moderator, and server-scoped jail context.

  2. Verify restricted access

    Confirm the member can reach only the configured jail text or voice surfaces that the live setup supports.

    Check: The restriction matches configured behavior without exposing staff-only channels.

  3. Review before release

    Open the active record, confirm the release decision, and check whether roles or channels changed while the jail was active.

    Check: The moderator knows which cleanup and role-restoration steps are permitted.

  4. Unjail and inspect

    Run the registered release path once, then inspect the final record and any role-restoration warnings.

    Check: The active jail closes or shows a recoverable failure instead of silently claiming full restoration.

Jail and release examples

The member enters and later leaves the configured jail workflow with a traceable active/final record and explicit warnings for cleanup or role restoration that could not complete.

Discord commandJail for one hour
/jail user:@Maya limit:1h reason:Private staff review needed
Discord commandJail without an automatic release time
/jail user:@Maya reason:Hold for senior staff review
Discord commandRelease after review
/unjail user:@Maya reason:Reviewed with staff; restrictions may end
What the jail workflow changes
StageBehaviorVerify
JailSaves restorable roles, applies the configured jail role, creates the case and jail channel, records the action, and posts the configured log.Open the private moderator reply and the created jail channel/case.
During jailThe member uses the configured restricted text/voice surfaces; an optional limit can schedule automatic release.Check the active jail record and actual channel visibility.
UnjailStops jail recording when active, removes the jail role, restores assignable saved roles, archives the channel flow, queues transcript work, and records the release.Read the release summary for roles that were restored, skipped, or failed.
  • Release an active jail from the dashboard after confirming the member and reason.
  • Treat a deleted saved role as non-restorable rather than recreating it automatically.
  • Leave managed, hierarchy-blocked, or otherwise unassignable roles unresolved for an administrator instead of forcing them.

Understand the complete jail lifecycle

Jail lifecycle
  1. STAGE 01

    Preflight

    ModFlow checks server setup, moderator authority, target membership, bot permissions, and role hierarchy.

  2. STAGE 02

    Restrict

    Restorable roles are recorded, the jail role is applied, and the private jail text/voice workspace is created or reused.

  3. STAGE 03

    Active review

    Staff use the active jail record, case, channel, and permitted voice artifacts while the restriction remains in force.

  4. STAGE 04

    Release trigger

    A moderator runs unjail, a supported timer expires, or another verified workflow requests release.

  5. STAGE 05

    Cleanup

    ModFlow removes the jail role, restores assignable saved roles, closes or archives the workspace, and queues supported transcript work.

  6. STAGE 06

    Final record

    The case and jail history state what completed, what was skipped, and what still requires manual recovery.

Jail preflight and setup reference

Preflight checks
CheckWhy it mattersTypical failure
Moderator authorityOnly permitted staff may start or end a restriction.Command is hidden or returns permission denied.
Target membershipThe jail workflow needs a current guild member and role state.Member cannot be found in this server.
Bot Manage Roles / ChannelsModFlow must apply the jail role and manage the private workspace.Setup error or channel/role creation failure.
Role hierarchyThe bot role must be above the target's managed roles and the configured jail role.Target is not manageable or a saved role cannot be restored.
Configured jail role and categoryThe workflow depends on known server-scoped objects and overwrites.System Health reports a missing or stale object.
Staff/member visibilityThe jailed member needs the intended jail surfaces while ordinary members must not gain staff access.Workspace is visible to the wrong audience or unusable by the jailed member.
Discord commandJail for a set period
/jail user:@Maya limit:1h reason:Private review after repeated disruption
Discord commandJail until staff release
/jail user:@Maya reason:Hold for senior review

Manage an active jail

The active jail is not only a role. It links the member, case, moderator, reason, jail text channel, optional voice channel, timer, saved-role snapshot, and later cleanup work. Use the active record as the handoff point instead of relying on a channel topic or memory.

During-jail checks
AreaStaff checkDo not assume
Text accessThe jailed member can use the intended jail text space and cannot see unrelated staff channels.A channel existing means all overwrites are correct.
Voice accessAny jail voice channel and sidechat follow the configured staff/member visibility.Voice presence means recording or transcription is active.
TimerThe active record displays the intended release time when a limit was supplied.A timer guarantees the later Discord cleanup succeeds.
CaseThe case number and active jail refer to the same member and incident.Every case reviewer can see every jail artifact.
RejoinIf the member leaves and returns, verify the active record and actual role state.A rejoin event always restores the restriction without a recorded outcome.
Dormant or paused stateRead the current jail/case status and latest timeline event.An archived channel means the underlying restriction is fully resolved.

Release and role-restoration checklist

  1. Confirm the active record

    Match server, member ID, case, reason, and current jail state. Do not release from a stale copied link.

    Check: You are operating the current active jail.

  2. Review changes made during jail

    Check whether staff intentionally changed roles, whether roles were deleted, and whether hierarchy changed.

    Check: Restoration expectations are realistic.

  3. Run one release

    Use /unjail or the guarded dashboard control once with a clear reason.

    Check: ModFlow records one release attempt.

  4. Read every outcome

    Review jail-role removal, saved-role restoration, channel cleanup, voice/recording closure, transcript queueing, and final case state.

    Check: Partial success is visible instead of hidden.

  5. Correct only the failed remainder

    Have an administrator address hierarchy or stale objects, then record any manual role/channel correction.

    Check: The audit trail explains the final member state.

Why a saved role may not return
ReasonMeaningSafe response
DeletedThe Discord role no longer exists.Do not recreate it automatically; ask the owning administrator whether a replacement is appropriate.
ManagedDiscord or an integration controls the role.Allow the owning integration to manage it.
Above the botThe role is higher than ModFlow in hierarchy.An administrator may correct hierarchy or assign the role manually if policy allows.
No longer assignableCurrent permissions or server configuration block assignment.Record the skipped role and resolve the exact server setting.
Intentionally changedStaff changed access while the jail was active.Follow the documented staff decision rather than blindly restoring the old snapshot.

Jail messages, recordings, and transcripts

Jail text, voice recordings, and transcripts are separate artifacts with separate production, visibility, and persistence states. A jail can complete without every artifact, and a case can remain reviewable when a source file is unavailable.

Artifact handling
ArtifactWhen it existsAccess boundaryHandoff
Jail text historyMessages were sent in the supported jail workspace and transcript processing could read them.Case, jail, channel, and transcript permissions still apply.Use the transcript or case reference, not copied private conversation text.
Jail call recordingA supported recording session actually captured and persisted audio.Guarded playback/download route and staff permission.Attach through evidence tooling only when the review requires it.
Recorded transcriptTranscription completed and the resulting artifact was stored.Visibility can differ from the recording and source channel.State whether the artifact is processing or missing.
Case evidence referenceAuthorized staff explicitly preserve the artifact or its source identity in the case.Case evidence visibility, including senior-only material.Link the evidence item rather than exporting it to a broader audience.

Role restoration is best effort

Saved-role restoration is best effort. Deleted roles, integration-managed roles, roles above the bot hierarchy, and roles the bot otherwise cannot assign are skipped or reported. Do not claim that every pre-jail role will return, and do not describe experimental escape controls as supported operation.

Recover a partial release

The result is not what you expected

What you see: The member remains restricted, the active record remains open, or one or more saved roles were not restored.

What may be happening: Channel cleanup, Discord hierarchy, managed/deleted roles, a stale active record, or an interrupted release can block part of the workflow.

What to do

  1. Check the active jail record before running release again.
  2. Review reported channel and role cleanup outcomes.
  3. Have a server administrator resolve hierarchy or configuration issues.
  4. Record any manual correction in the moderation history.

When the jail produced significant messages, recordings, or decisions, attach only authorized material to a case and continue in Cases and evidence.

Message someone in Jail from the dashboard

Authorized staff can view up to 40 recent messages from the active Discord Jail channel and send one message with an optional image or GIF. Staff may use their displayed identity or an approved team-facing label. Mentions are disabled for dashboard-sent messages.

Jail conversation boundaries
BoundaryWhat it means
Recent messagesThe panel shows recent Discord messages, not the full Jail transcript.
Staff identityA team label may hide the sender's name from the jailed member, but ModFlow still records which staff member sent the message.
TranscriptA later transcript or evidence action can preserve a separate copy under its own visibility and retention rules.
ClosureAfter Jail closure, the dashboard conversation is read-only.
Back to top