forgejo/docs
32
45
Fork
You've already forked docs
204

Document security-relevant CI checks used by Forgejo #1660

Open
opened 2025年12月24日 17:46:18 +01:00 by atluxity · 3 comments

Hi,

While reviewing Forgejo against the OpenSSF Best Practices criteria [1], I noticed that Forgejo already runs several security-relevant static analysis checks (such as govulncheck, go vet, and golangci-lint) as part of its normal development workflow and CI.

I could not find a concise place in the documentation that explicitly describes which CI checks are considered part of Forgejo’s security or release quality expectations. During the review, this made it harder to distinguish between intentional project practice and incidental tooling.

Consider briefly documenting which security-relevant checks are expected to pass in CI, and that releases are cut from code that has passed these checks. This could be a short section in the developer or security documentation.

From the project’s perspective, documenting this would make existing security practices easier to understand for new contributors, downstream packagers, distributions, and organizations evaluating Forgejo for adoption. It can reduce repeated questions about what is enforced in CI, strengthen trust in the project’s security posture, and lower the effort needed to respond to external reviews — without changing any current behavior.

Thanks for the continued work on Forgejo.

1 - https://www.bestpractices.dev/en/projects/11645/passing#all

Hi, While reviewing Forgejo against the OpenSSF Best Practices criteria [1], I noticed that Forgejo already runs several security-relevant static analysis checks (such as govulncheck, go vet, and golangci-lint) as part of its normal development workflow and CI. I could not find a concise place in the documentation that explicitly describes which CI checks are considered part of Forgejo’s security or release quality expectations. During the review, this made it harder to distinguish between intentional project practice and incidental tooling. Consider briefly documenting which security-relevant checks are expected to pass in CI, and that releases are cut from code that has passed these checks. This could be a short section in the developer or security documentation. From the project’s perspective, documenting this would make existing security practices easier to understand for new contributors, downstream packagers, distributions, and organizations evaluating Forgejo for adoption. It can reduce repeated questions about what is enforced in CI, strengthen trust in the project’s security posture, and lower the effort needed to respond to external reviews — without changing any current behavior. Thanks for the continued work on Forgejo. 1 - https://www.bestpractices.dev/en/projects/11645/passing#all

If it was unclear, I do not know the facts that would be in the documentation, so I cannot write it myself. But if someone write them here then maybe I can make an attempt at creating a PR.

If it was unclear, I do not know the facts that would be in the documentation, so I cannot write it myself. But if someone write them here then maybe I can make an attempt at creating a PR.

Hi @atluxity,

I have not, to date, seen any inquiries or questions in the Forgejo project that would be solved by the documentation that you're proposing to create. These are the types of inquiries that I've dealt with regularly as a software engineer at a SaaS organization, and which required a team of compliance professionals in order to resolve... especially since the sales team never wants to answer an RFP with a "no" for anything in the security column, regardless of reality. 🤣

I'm a member of Forgejo's Security team, and so I want to clarify that this message represents my personal opinion, not a team consensus communication. My personal opinion is that I don't think that creating this documentation and maintaining it would provide value for Forgejo today that is commensurate with the effort involved.

Hi @atluxity, I have not, to date, seen any inquiries or questions in the Forgejo project that would be solved by the documentation that you're proposing to create. These are the types of inquiries that I've dealt with regularly as a software engineer at a SaaS organization, and which required a team of compliance professionals in order to resolve... especially since the sales team never wants to answer an RFP with a "no" for anything in the security column, regardless of reality. 🤣 I'm a member of Forgejo's Security team, and so I want to clarify that this message represents my personal opinion, not a team consensus communication. My personal opinion is that I don't think that creating this documentation and maintaining it would provide value for Forgejo today that is commensurate with the effort involved.

Hi @mfenniak ,

Thanks for taking the time to reply, and for the context. I appreciate you sharing your perspective. I’ll be honest and say that I don’t fully grasp yet where the documentation burden would show up in practice, but I trust your experience and judgment on that.

My intent wasn’t to introduce compliance-style obligations or anything resembling RFP work, but simply to surface something that stood out during an external review context. If the assessment is that the cost of documenting and maintaining this outweighs the value for Forgejo, I’m completely comfortable deferring to that.

I was thinking this could be covered by just a few sentences that referred to relevant places in code for details. But I know I can be naive. 😄 Just please note that we who care about security documentation exists also outside of sales teams.

I appreciate you taking the time to explain your view, and thanks again for the work you all do on the project.

Hi @mfenniak , Thanks for taking the time to reply, and for the context. I appreciate you sharing your perspective. I’ll be honest and say that I don’t fully grasp yet where the documentation burden would show up in practice, but I trust your experience and judgment on that. My intent wasn’t to introduce compliance-style obligations or anything resembling RFP work, but simply to surface something that stood out during an external review context. If the assessment is that the cost of documenting and maintaining this outweighs the value for Forgejo, I’m completely comfortable deferring to that. I was thinking this could be covered by just a few sentences that referred to relevant places in code for details. But I know I can be naive. 😄 Just please note that we who care about security documentation exists also outside of sales teams. I appreciate you taking the time to explain your view, and thanks again for the work you all do on the project.
Sign in to join this conversation.
No Branch/Tag specified
next
v14.0
v13.0
v11.0
v12.0
bp-v12.0-a6c8557
v7.0
v10.0
v9.0
v8.0
v1.21
v1.20
v1.19
v13.0.0-dev
Labels
Clear labels
404

Broken links or missing content
backport/v1.19

Changes which should be backported to the v1.19 docs

Archived

backport/v1.20

Changes which should be backported to the v1.20 docs

Archived

backport/v1.21

Changes which should be backported to the v1.21 docs

Archived

backport/v10.0

Automated backport to v10.0

Archived

backport/v11.0

Automated backport to v11.0
backport/v12.0

Automated backport to v12.0

Archived

backport/v13.0

Automated backport to v13.0
backport/v14.0

Automated backport to v14.0
backport/v7.0

Automated backport to the v7.0 docs

Archived

backport/v8.0

Automated backport to the v8.0 docs

Archived

backport/v9.0

Automated backport to the v9.0 docs

Archived

good first issue

This issue is suitable for "drive-by contributors" wanting to contribute for the first time, and fixing it should be straightforward.
meta

Tooling and processes for maintaining the docs
new docs

Content to be added to the documentation

Archived

User research - Accessibility

Requires input about accessibility features, likely involves user testing.
User research - Blocked

Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community

Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)

Instance-wide configuration, authentication and other admin-only needs.
User research - Errors

How to deal with errors in the application and write helpful error messages.
User research - Filters

How filter and search is being worked with.
User research - Future backlog

The issue might be inspiring for future design work.
User research - Git workflow

AGit, fork-based and new Git workflow, PR creation etc
User research - Labels

Active research about Labels
User research - Moderation

Moderation Featuers for Admins are undergoing active User Research
User research - Needs input

Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard

Research on how users should know what to do next.
User research - Rendering

Text rendering, markup languages etc
User research - Repo creation

Active research about the New Repo dialog.
User research - Repo units

The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)

How to structure in-app settings in the future?
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/docs#1660
Reference in a new issue
forgejo/docs
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?