Skip to documentation

Permissions, visibility, and redaction

Distinguish server access, operation authority, record visibility, source access, and redacted detail before sharing or acting.

Audience
moderator · senior reviewer · team lead · server admin
Availability
free · premium preview · private beta access
Maturity
alpha · partial

Last reviewed

On this page

Access to a page is not access to every record

ModFlow evaluates access in layers. Being a server member, opening the dashboard, viewing a record, seeing its evidence, and executing an action are separate capabilities. Redaction preserves a usable workflow summary without widening restricted detail.

Access layers and safe visibility

Layered access checks from Discord identity and server selection through page, record, source, and action permissions.
Each layer can allow or deny independently; passing an earlier check does not bypass a later one.
Questions to separate before acting
LayerCheckSafe response when denied
ServerIs this the intended selected server and approved runtime?Return to server selection; do not substitute another server.
Page or commandCan this role open the surface?Request the narrow team/page permission.
RecordMay this viewer see this case, transcript, or review?Use the visible summary or ask an authorized reviewer.
SourceIs the underlying channel, message, or file still visible?Record unavailability; do not recreate hidden detail in public text.
ActionMay this viewer perform this transition on this target now?Hand off to an authorized operator without sharing restricted material.

Evaluate access from server to source

  1. Confirm server and viewer

    Check the selected server and the operator's effective Discord and ModFlow role.

    Check: The access request has a concrete identity and scope.

  2. Identify the denied layer

    Separate page, record, source, and action access rather than treating all denials as one permission.

    Check: The smallest missing capability is known.

  3. Use the visible minimum

    Continue only with fields, summaries, and controls intentionally shown to the viewer.

    Check: Restricted detail stays restricted.

  4. Request a narrow handoff

    Ask an authorized teammate to review or perform only the missing step.

    Check: Work advances without broadening access.

The operator can explain which access layer applies and can hand off work without leaking redacted or hidden context.

Use the complete permission stack

Permission stack
LayerExamplesFailure behavior
Discord identity/membershipSigned-in user; current guild membership.Server absent or access denied.
Runtime approvalApproved/private-preview server state.Server cannot enter ModFlow runtime.
Discord permissionModerate Members, Ban Members, Administrator, channel access.Command hidden/denied or target unmanageable.
ModFlow team permissioncases.view, evidence access, appeals, actions, Activity, Settings, exports.Page/control hidden or API denied.
Feature availabilityFree/Premium inclusion, preview, production flag.Feature locked, unavailable, or placeholder.
Record visibilityTeam-scoped Case, senior-only evidence, transcript audience.Record/item redacted or hidden.
Source visibilityDiscord channel/message/file still accessible.Source cannot be opened despite parent record access.
Target/state authorityRole hierarchy, active workflow state, executor permission.Write blocked or becomes retryable/failed.

Understand redaction outputs

Redaction patterns
PatternShowsHidesUse
Safe summaryRecord identity, type, status, and non-sensitive context.Restricted fields, content, source, or actor detail.Continue a workflow without widening content.
Unavailable sourceProvenance/identity and unavailable status.The source content because it cannot be read.State the evidence gap explicitly.
Senior-only evidenceThat restricted evidence exists where safe.Content from non-senior viewers.Handoff to an authorized reviewer.
Permission-denied actionThe action cannot be performed.Sensitive action data or controls.Request narrow authority rather than work around it.
Export omissionPermitted rows/fields.Restricted or unsupported fields.Treat the extract as permission-limited, not complete.

Share records without changing the audience

  1. Identify the audience

    Name the staff role/team or appellant who needs the information.

    Check: The intended viewer is explicit.

  2. Use supported links/summaries

    Share the Case, appeal, record, or transcript reference through an authorized staff surface.

    Check: Access checks remain in force.

  3. Minimize copied content

    Include only the state, question, and safe identifiers needed for handoff.

    Check: Restricted evidence is not duplicated.

  4. Verify the recipient can open it

    Have the recipient use their own session/permissions.

    Check: No account or session sharing occurs.

  5. Escalate a denial

    Hand off to a higher-authority reviewer rather than copying hidden detail.

    Check: Work advances without widening visibility.

Never use as permission
ItemWhy
Copied dashboard URLIt still requires the recipient’s own server/record access.
ScreenshotIt can expose content without ongoing access controls and can become stale.
Exported fileIt is a sensitive copy, not a grant of dashboard permission.
Discord mention/role nameRole labels do not prove ModFlow team/action authority.
Administrator titleServer Administrator does not imply bot-owner/global/infrastructure access.

Audit a team permission change

  1. Define the job

    List pages, records, and exact writes the team needs.

    Check: The role receives only the requested capability.

  2. Map dependencies

    Review permission prerequisites and cross-team warnings.

    Check: Hidden dependent powers are understood.

  3. Record before state

    Capture role ID, team order/enabled state, and current permissions.

    Check: Rollback is possible.

  4. Change one group

    Edit visibility, Case, moderation, Soundcheck, or admin capabilities separately.

    Check: The cause of changed access is clear.

  5. Test allowed/denied accounts

    Use representative users and exact operations.

    Check: Least-privilege behavior is proven.

  6. Review after role changes

    Re-test when Discord role membership/hierarchy changes.

    Check: Cached labels do not become stale authority.

Handle redaction and partial visibility

Administrator, team, channel, artifact, and target permissions can drift independently. A copied link never grants access, and an absent detail is not evidence that it never existed.

A cross-workflow state is unclear

What you see: The visible status, permission, source, or execution result does not support a confident next action.

What may be happening: The viewer may be reading a stale surface, a narrowed view, a separate lifecycle stage, or a partial operation result.

What to do

  1. Reconfirm the selected server and effective team membership.
  2. Open the record through its supported navigation rather than a copied stale link.
  3. Preserve redaction when escalating.
  4. Ask a server administrator to review the narrow permission or source-visibility boundary.

Recheck visibility at every source boundary

Live Discord reads recheck channel visibility. A participant-facing team label does not remove internal attribution. Imported cloud files become separate evidence copies. Watchlist senior context, relationship state, proximity signals, evaluations, and generated MIRA sources require narrower access than ordinary profile or Case visibility.

Back to top