遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/9218)
<a href="https://www.bestpractices.dev/projects/9218"><img src="https://www.bestpractices.dev/projects/9218/badge"></a>
Coordinated field mapping for Open Mapping campaigns.
https://docs.hotosm.org/dev-practices/ https://docs.hotosm.org/code-of-conduct/ https://docs.fmtm.dev/CONTRIBUTING/ https://github.com/hotosm/fmtm/blob/development/.github/pull_request_template.md
https://docs.fmtm.dev/CONTRIBUTING/#commit-sign-off-policy
https://docs.hotosm.org/dev-practices
https://docs.hotosm.org/code-of-conduct
https://docs.fmtm.dev/about/team
https://docs.fmtm.dev/about/team - Team is globally / geographically distributed. - Team is mostly composed of developers from two different organisations. - Tech lead has passed on a lot of knowledge to primary backend developers. - Product Ownership is shared with product manager in another org.
User roadmap: https://docs.fmtm.dev/user-roadmap Dev roadmap: https://github.com/orgs/hotosm/projects/22/views/8
https://docs.fmtm.dev/INSTALL/ https://docs.fmtm.dev/dev/Setup/ https://docs.fmtm.dev/dev/Backend/ https://docs.fmtm.dev/dev/Frontend/
https://docs.hotosm.org/privacy-policy/#security
https://docs.fmtm.dev/INSTALL/#easy-install
https://docs.hotosm.org
https://github.com/hotosm/fmtm
Work in progress for both design and ARIA: https://github.com/hotosm/fmtm/issues/1663
Work in progress: https://github.com/hotosm/fmtm/issues/1169
Uses OpenStreetMap OAuth2, so passwords are stored on their server.
Releases: https://github.com/hotosm/fmtm/releases/tag/2024.3.1 Container images of old releases: https://github.com/orgs/hotosm/packages?repo_name=fmtm Migrations with revert migrations: https://github.com/hotosm/fmtm/tree/development/src/backend/migrations
https://github.com/hotosm/fmtm/issues
No vulnerability reports yet: https://github.com/hotosm/fmtm/issues?q=is%3Aissue+is%3Aopen+cve
Regular container updates hopefully avoid most vulnerabilities.
https://docs.hotosm.org/dev-practices/#security-vulnerabilities
We don't build native binaries. It's a web app.
We don't build. It's a web app using interpreted languages.
It's a web app using interpreted languages.
Container images are distributed, where orchestration tool can be chosen by the user.
Builds are containerised and don't affect local filesystem.
Containerised application makes it easy to install throwaway instances and test changes.
Dependencies are listed in: - Python: pyproject.toml - JavaScript: package.json
We run container image scanning tools that check for CVEs in system dependencies and installed packages.
Python: uses PDM package manager. JavaScript: uses pnpm package manager.
No deprecated or obsolete APIs used.
This needs to be addressed
Coverage is not high enough
Not there yet!
code cannot be deployed until fixes are made
Uses HS384 for JWT signing
Configurable via .env, the JWT encryption algorithm can be overriden from default HS384 to any supported by the Python cryptography module (regularly updated / well maintained).
No credentials are required, as OAuth2 is used for login.
TLS1.2, secure settings via Nginx proxy.
Container images at not signed, yet!
Text inputs are checked for SQL injection and sanitised.
Content Security Policy (CSP) header set
Software security not documented well
Python: bandit + others built into ruff
Not using a memory-unsafe language. Python / TypeScript only.
后退