Add a "maintainer" role for Devvit apps

Open
#272 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript

Research direction

No files, tests, or entry points are named. Start by locating the existing app-owner checks for upload, publish, and rollback, then define the maintainer permissions and owner-only exclusions described in the proposal. Done means maintainers can perform approved deployment operations without gaining ownership or other restricted capabilities.

Written by the indexing model from the issue text.

Description

Summary

Devvit currently limits app uploads and publishing to the app owner. For mature, collaboratively maintained apps, this creates a deployment bottleneck even when backend changes have already been reviewed and approved.

I propose adding an optional maintainer role that can upload, publish, and roll back approved app revisions without receiving full ownership.

Problem

The current ownership model works well for single-developer apps, but it becomes restrictive as an app grows.

Bot Bouncer is now a collaborative moderation platform with multiple contributors helping review code, develop features, answer appeals, and improve moderator workflows. However, every backend deployment still depends on a single app owner.

This puts the app developer in a bind:

  • The developer is needed in Bot Bouncer modmail to help reduce the appeal backlog.
  • The same developer is also the only person who can review, approve, and deploy backend changes that would make appeals more efficient.
  • When the backlog consumes the developer’s time, improvements that could reduce the backlog become harder to ship.

As Bot Bouncer is adopted by more moderator teams,, this owner-only deployment model becomes harder to sustain for time-sensitive workflow improvements.

Proposed Solution

Introduce an application-level maintainer role with limited deployment permissions.

Maintainers could:

  • Upload app revisions that only affect the backend moderator workflow.
  • Upload approved app revisions.
  • Publish approved releases.
  • Roll back to a previously published version.

Maintainers could not:

  • Transfer ownership.
  • Delete the app.
  • Modify ownership or owner-only administrative settings.
  • Access sensitive owner-only capabilities.

This proposal is intended to reduce operational bottlenecks, not distribute project governance. The app owner would continue to appoint and remove maintainers, while maintainers would handle routine operational tasks such as deploying reviewed changes. Most apps could continue using the existing owner-only model, while larger collaborative projects could opt into one or a small number of maintainers.

This preserves owner control while allowing trusted contributors to handle routine operational maintenance.

Use Case

For Bot Bouncer, trusted maintainers could deploy backend improvements that reduce moderator workload, including:

  • More efficient appeal handling.
  • Better moderator-only statistics pages for evaluating appeal and detection performance.
  • Rapid workflow adjustments for rare evaluator configuration errors.

These changes primarily affect backend moderator workflows, but they can significantly improve response time and reduce manual work.

Bot Bouncer motivated this request, but the same role could benefit other Devvit apps that grow from single-maintainer projects into collaborative tools.

Alternatives Considered

Transferring ownership or sharing owner credentials would grant more authority than needed for routine maintenance.

A limited maintainer role would better follow the principle of least privilege: trusted contributors could deploy reviewed changes, while ownership, sensitive administration, and long-term governance remain with the app owner.

Dominant language
TypeScript
Stars
210
Forks
88
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from reddit/devvit

All issues in reddit/devvit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.