Prototype workaround for private issues #657
Labels
No labels
ai-review-please
Org/Team Modification
Private Issues
Runner Request
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forge/forge#657
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Prototype workaround for private issues
Details
Create a prototype Flask web application that allows Fedora users to file issues in private Forgejo repositories they don't have direct access to. Designed for sensitive reports like Code of Conduct violations, GDPR requests, and security issues.
Key Features Implemented
Technical Stack
ForgeFiler Status Update — 2026-07-20
The ForgeFiler prototype is built and deployed to staging. Here's a walkthrough of the current workflow:
How it works
/respondfollowed by their questionIssue numbers are never exposed to reporters — all links use cryptographically signed tokens. The app is fully stateless (no database); Forgejo issues are the single source of truth.
Staging Instance
The staging deployment is live at:
https://forgefiler-forgefiler.apps.ocp.stg.fedoraproject.org
It is connected to forge.stg.fedoraproject.org with two dummy private repositories under the
forgefilerorg:Next Steps
I think this will probibly be workable... I'd like to get any input from @zlopez also, he's been processing the pdr requests lately a lot.
It's not that convenient as private issues, but it seems to be workable. It fills the security requirements we have, but I'm not sure how the reporter will add anything. For example we process the request and then we get another comment from reporter that they want something above the standard way we are doing it.
Also how the reporter will be notified that the request was processed?
For follow-up information from the reporter: when the team processing the request needs more details, they post a comment on the private issue starting with
/respond. For example:This triggers ForgeFiler to send the reporter an email containing a secure link. Every response from ForgeFiler to the reporter includes this link, and it is how the reporter interacts with that specific issue — clicking it takes them to a form where they can add additional comments and file attachments, without ever needing access to the private repository. The team can request more info as many times as needed.
For notifications: the reporter receives an email confirmation when they first file the issue, and then again each time the team uses
/respond. When the request has been fully processed, the team simply uses/respondto let the reporter know it has been closed.The prototype for ForgeFiler has been built and is deployed to staging for testing:
ForgeFiler is a Flask web app that provides a public-facing form for filing issues into private Forgejo repositories, with OIDC authentication via Fedora Accounts, file attachments, and a webhook-based
/respondcommand for maintainer-reporter communication.Any further issues, bugs, or feature requests should be filed in the forge/ForgeFiler issue tracker.