Macro-Deck

本サイトが提示する下記のベストプラクティスを実行するプロジェクトは、Open Source Security Foundation (OpenSSF) バッジを達成したことを自主的に自己認証し、そのことを外部に示すことができます。

ソフトウェアに欠陥や脆弱性がないことを保証する手立てはありません。形式論的な証明ができたとしても、仕様や前提が間違っていると誤動作の可能性があります。また、プロジェクトが健全で、かつ機能的な開発コミュニティであり続けることを保証する手立てもありません。しかし、ベストプラクティスの採用は、プロジェクトの成果の向上に寄与する可能性があります。たとえば、いくつものベストプラクティスがリリース前の複数人によるレビューを定めていますが、それによりレビュー以外では発見困難な技術的脆弱性を見つけるのを助け、同時に異なる企業の開発者間の信頼を築き、さらに交流を続けることに対する意欲を生んでいます。バッジを獲得するには、すべてのMUSTおよびMUST NOT基準を満たさなければなりません。すべてのSHOULD基準も満たさなければなりませんが、正当な理由がある場合は満たさなくても構いません。そしてすべてのSUGGESTED基準も満たさなければなりませんが、満たさないとしても、少なくとも考慮することが望まれます。フィードバックは、 GitHubサイトのissueまたはpull requestとして提示されれば歓迎します。また、議論のためのメールリストも用意されています。

私たちは多言語で情報を提供していますが、翻訳版に矛盾や意味の不一致がある場合は、英語版を正式な記述とします。
これがあなたのプロジェクトである場合は、プロジェクトページにベースラインバッジステータスを表示してください!ベースラインバッジステータスは次のようになります: プロジェクト15331のベースラインバッジレベルはbaseline-1です ベースラインバッジを埋め込む方法は次のとおりです:
ベースラインバッジステータスを表示するには、マークダウンファイルに以下を埋め込みます:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/15331/baseline)](https://www.bestpractices.dev/projects/15331)
または、HTMLに以下を埋め込みます:
<a href="https://www.bestpractices.dev/projects/15331"><img src="https://www.bestpractices.dev/projects/15331/baseline"></a>


これらはベースラインレベル1の基準です。 これらは基準バージョン v2026.08.28 の評価項目です。

Baseline Series: ベースラインレベル1 ベースラインレベル2 ベースラインレベル3

        

 基本的情報

  • 一般

    他のプロジェクトが同じ名前を使用していないか注意してください。

    The open-source macro pad with customizable widgets, powerful integrations and a secure plugin ecosystem.

    SPDXライセンスの表現形式を使用してください。 例:「Apache-2.0」、「BSD-2-Clause」、「BSD-3-Clause」、「GPL-2.0+」、「LGPL-3.0+」、「MIT」、「(BSD-2-Clause OR Ruby)」。一重引用符または二重引用符を含めないでください。
    複数の言語がある場合は、コンマを区切り(スペースを入れてもよい)としてリストし、使用頻度の高いものから順に並べます。使用言語が多くある場合は、少なくとも最初の3つの最も多く使われるものをリストアップしてください。言語がない場合(例:ドキュメントだけ、またはテスト専用のプロジェクトの場合)、1文字 " - "を使用します。言語ごとにある大文字・小文字の慣用を踏襲してください(例:「JavaScript」)。
    Common Platform Enumeration(CPE)は、情報技術(IT)システム、ソフトウェア、およびパッケージのための構造化された命名体系です。脆弱性を報告する際に、多くのシステムやデータベースで使用されています。

 管理策 24/24 ●

  • 管理策


    ユーザーがプロジェクトの権威リポジトリにある機密リソースを読み取ったり変更したりしようとする場合、システムは多要素認証プロセスの完了をユーザーに要求しなければなりません。 [OSPS-AC-01.01]
    プロジェクトのバージョン管理システムに多要素認証を強制し、協力者が機密データにアクセスしたりリポジトリ設定を変更したりする際に第2の認証形式を提供するよう要求します。パスキーはこの管理として許容されます。

    GitHub requires 2FA as of March 2023.



    新しい協力者が追加される場合、バージョン管理システムは手動による権限割り当てを要求するか、デフォルトで協力者の権限を最低利用可能な特権に制限しなければなりません。 [OSPS-AC-02.01]
    ほとんどの公開バージョン管理システムは、この方法で設定されています。プロジェクトのバージョン管理システムが、協力者を追加する際にデフォルトで常に利用可能な最低限の権限を割り当て、必要な場合にのみ追加の権限を付与するように設定してください。

    Macro Deck uses GitHub for version control. New collaborators must be explicitly granted access to the repository, with permissions assigned according to their responsibilities. GitHub's role-based access control ensures that collaborators only receive the permissions assigned to them.



    プロジェクトのプライマリブランチに直接コミットが試行された場合、強制メカニズムが変更の適用を防止しなければなりません。 [OSPS-AC-03.01]
    バージョン管理システムが集中型の場合は、プロジェクトのバージョン管理システムのプライマリブランチにブランチ保護を設定してください。あるいは、Linuxカーネルのような分散型アプローチを使用します。この場合、変更はまず別のリポジトリで提案され、プライマリリポジトリへの変更のマージには特定の個別の操作が必要です。

    The project's primary branch is protected using GitHub repository rulesets. Direct commits are blocked, and changes must be submitted through pull requests before they can be merged.



    プロジェクトのプライマリブランチの削除が試行された場合、バージョン管理システムはこれを機密性の高い活動として扱い、意図の明示的な確認を要求しなければなりません。 [OSPS-AC-03.02]
    プロジェクトのバージョン管理システムのプライマリブランチにブランチ保護を設定して削除を防止してください。

    The project's primary branch is protected using GitHub repository rulesets. Branch deletion is restricted to prevent accidental or unauthorized removal of the primary branch.



    CI/CDパイプラインが信頼できないメタデータを処理する場合、それらのパラメータはパイプラインで使用する前にサニタイズおよび検証されなければならない。 [OSPS-BR-01.01]
    CI/CDパイプラインは、信頼できないソースに対応するすべてのメタデータ入力をサニタイズ(期待値の引用、エスケープ、または終了)する必要があります。これには、ブランチ名、コミットメッセージ、タグ、プルリクエストのタイトル、作者情報などのデータが含まれます。

    Macro Deck uses GitHub Actions for CI/CD. Untrusted inputs, such as pull request metadata, branch names, and user-provided parameters, are handled through GitHub Actions contexts and environment variables rather than being directly interpolated into executable shell commands. Inputs are validated where necessary to prevent command injection and unintended workflow execution.



    CI/CDパイプラインが信頼されていないコードスナップショットで動作する場合、特権のあるCI/CDクレデンシャルおよびアセットへのアクセスを防止しなければなりません。 [OSPS-BR-01.03]
    CI/CDパイプラインは、信頼されていないコードスナップショットを特権のあるクレデンシャルおよびアセットから分離する必要があります。特に、プロジェクトは、協力者によるレビュー前にコードをビルドまたは実行するワークフローがCI/CDクレデンシャルにアクセスできないよう注意する必要があります。

    Macro Deck uses GitHub Actions for CI/CD. Workflows triggered by pull requests from forks run with restricted permissions and do not receive repository secrets. Privileged credentials, such as signing certificates, publishing tokens, and deployment secrets, are reserved for trusted release workflows and are not exposed to untrusted code.



    プロジェクトがURIを公式プロジェクトチャンネルとしてリストする場合、そのURIは暗号化されたチャンネルを使用して排他的に配信されなければなりません。 [OSPS-BR-03.01]
    プロジェクトのウェブサイトおよびバージョン管理システムを、データ送信にSSHまたはHTTPSなどの暗号化されたチャンネルを使用するように設定してください。プロジェクトドキュメントで参照されるすべてのツールとドメインが、暗号化されたチャンネルを介してのみアクセスできるようにしてください。

    All official Macro Deck project channels, including the website, documentation, GitHub repositories, community platforms, and the Macro Deck Store, are accessible via HTTPS. Encrypted connections are used to protect communication with these services.



    プロジェクトが公式配布チャネルとしてURIを掲載する場合、そのチャネルは暗号学的に認証されたチャネルを使用して、中間者(adversary-in-the-middle)攻撃から保護されなければならない。 [OSPS-BR-03.02]
    プロジェクトによって配布される成果物は、完全性と真正性を保証するチャネルを通じて配布されるべきです。ダウンロードにHTTPSを使用すること、署名付きリリースを使用すること、信頼できるパッケージマネージャーを通じて配布することは、いずれも中間者攻撃から保護するための許容できる方法です。

    All official Macro Deck distribution channels, including GitHub Releases and the official website, use HTTPS to ensure encrypted and authenticated connections and protect against adversary-in-the-middle attacks. Additionally, the Macro Deck installers are digitally signed using code signing certificates, providing an additional layer of authenticity and integrity verification.



    プロジェクトは、シークレットや認証情報などの暗号化されていない機密データが、バージョン管理システムに意図せず保存されることを防止しなければなりません。 [OSPS-BR-07.01]
    機密情報を含む可能性のあるファイルを除外するために、.gitignoreまたは同等のものを設定してください。プリコミットフックおよび自動スキャンツールを使用して、コミットに機密データが含まれることを検出および防止してください。

    Macro Deck uses GitHub Actions secrets to securely store sensitive credentials, such as signing certificates, API tokens, and publishing credentials, outside the version control system. Sensitive configuration files are excluded from version control where applicable. Repository secret scanning is used to help detect accidentally committed credentials.



    プロジェクトがリリースを行った場合、プロジェクトドキュメントには、すべての基本機能に対するユーザーガイドを含まなければなりません。 [OSPS-DO-01.01]
    プロジェクトのすべての基本機能について、インストール、設定、およびプロジェクトの機能の使用方法を説明するユーザーガイドまたはドキュメントを作成してください。既知の危険な行為または破壊的な行為が利用可能な場合は、非常に目立つ警告を含めてください。

    Macro Deck provides publicly accessible user documentation at https://docs.macro-deck.app/, covering installation, initial setup, configuration, and the basic functionality of the application. The documentation is maintained alongside the project to help users get started and use Macro Deck's core features.



    プロジェクトがリリースを行った場合、プロジェクトドキュメントには、欠陥報告のためのガイドを含まなければなりません。 [OSPS-DO-02.01]
    プロジェクトでは、バージョン管理システムのデフォルトの課題追跡ツールを使用することをお勧めします。外部ソースが使用される場合は、プロジェクトドキュメントと貢献ガイドで報告システムの使用方法を明確かつ目立つように説明してください。プロジェクトドキュメントでは、欠陥がどのようにトリアージおよび解決されるかについての期待値を設定することもお勧めします。

    Macro Deck uses GitHub Issues for defect reporting. Users can report bugs through the project's GitHub repository at https://github.com/Macro-Deck-App/Macro-Deck/issues/new/choose. Dedicated issue templates guide users through providing relevant information, including a description of the problem, steps to reproduce it, expected behavior, and environment details.



    プロジェクトは、提案された変更や利用上の障害についての公開討論のための1つ以上のメカニズムを持たなければならない。 [OSPS-GV-02.01]
    メーリングリスト、インスタントメッセージング、または課題追跡ツールなど、プロジェクト内の公開討論のための1つ以上のメカニズムを確立し、オープンなコミュニケーションとフィードバックを促進してください。

    Macro Deck provides multiple public channels for discussing proposed changes, feature requests, and usage difficulties. GitHub Issues and Pull Requests allow users and contributors to propose features, report problems, and discuss implementation details. Additionally, the official Macro Deck Discord community provides dedicated channels for support, feedback, feature suggestions, and general discussions.



    プロジェクトのドキュメントには、貢献プロセスの説明を含めなければならない、または一般からの貢献を受け付けていないことを明確に記載しなければならない。 [OSPS-GV-03.01]
    変更の提出手順やプロジェクトメンテナーとのやり取りを含む、貢献プロセスの概要を示すCONTRIBUTING.mdまたはCONTRIBUTING/ディレクトリを作成します。

    Macro Deck accepts public contributions through GitHub. The project's contribution guidelines describe how contributors can report issues, propose changes, and submit pull requests. GitHub Issues and Pull Requests are used to coordinate contributions and review proposed changes before merging.



    ソースコードのライセンスは、OSIのオープンソース定義またはFSFのフリーソフトウェア定義を満たさなければならない。 [OSPS-LE-02.01]
    OSI(Open Source Initiative)によって承認されたライセンス、またはFSF(Free Software Foundation)によって承認されたフリーライセンスを含むLICENSEファイルをプロジェクトのリポジトリに追加します。そのようなライセンスの例としては、MIT、BSD 2-clause、BSD 3-clause revised、Apache 2.0、Lesser GNU General Public License(LGPL)、およびGNU General Public License(GPL)が含まれます。特許などの他の障害がない場合、パブリックドメインへのリリースはこの管理を満たします。

    The Apache-2.0 license for the repository contents is approved by the Open Source Initiative (OSI).



    リリースされたソフトウェア資産のライセンスは、OSIのオープンソース定義またはFSFのフリーソフトウェア定義を満たさなければならない。 [OSPS-LE-02.02]
    リリースされたソフトウェア資産に異なるライセンスが含まれている場合は、OSI(Open Source Initiative)によって承認されたライセンス、またはFSF(Free Software Foundation)によって承認されたフリーライセンスであることを確認してください。そのようなライセンスの例としては、MIT、BSD 2-clause、BSD 3-clause revised、Apache 2.0、Lesser GNU General Public License(LGPL)、およびGNU General Public License(GPL)が含まれます。リリースされたソフトウェア資産のライセンスはソースコードとは異なる場合があることに注意してください。

    The Apache-2.0 license is approved by the Open Source Initiative (OSI). [floss_license]



    ソースコードのライセンスは、対応するリポジトリのLICENSEファイル、COPYINGファイル、LICENSES/ディレクトリ、またはLICENSE/ディレクトリで管理されなければならない。 [OSPS-LE-03.01]
    ライセンス条項の可視性と明確性を確保するため、プロジェクトのソースコードライセンスをプロジェクトのLICENSEファイル、COPYINGファイル、LICENSES/ディレクトリ、またはLICENSE/ディレクトリに含めてください。ファイル名には拡張子を付けてもかまいません。プロジェクトが複数のリポジトリを持つ場合は、各リポジトリにライセンスファイルが含まれていることを確認してください。

    Macro Deck's source code license is maintained in the LICENSE file at the root of the GitHub repository, making the licensing terms publicly accessible to users and contributors.

    https://github.com/Macro-Deck-App/Macro-Deck/blob/main/LICENSE



    リリースされたソフトウェア資産のライセンスは、リリースされたソースコードに含めるか、対応するリリース資産と共にLICENSEファイル、COPYINGファイル、またはLICENSE/ディレクトリに含めなければならない。 [OSPS-LE-03.02]
    ライセンス条件に関する可視性と明確性を提供するために、プロジェクトのリリースされたソフトウェア資産のライセンスを、リリースされたソースコードに、または対応するリリース資産と一緒にあるLICENSEファイル、COPYINGファイル、またはLICENSE/ディレクトリに含めます。ファイル名には拡張子を付けることができます。プロジェクトに複数のリポジトリがある場合は、各リポジトリにライセンスファイルが含まれていることを確認してください。

    Macro Deck's source code releases include the project's LICENSE file in the repository root. The license is included in the source archives provided through GitHub Releases, ensuring that the applicable licensing terms are available alongside the released source code.

    https://github.com/Macro-Deck-App/Macro-Deck/releases



    プロジェクトのソースコードリポジトリは、静的なURLで公開され、読み取り可能でなければならない。 [OSPS-QA-01.01]
    GitHub、GitLab、Bitbucketなどの一般的なVCSを使用します。リポジトリが公開読み取り可能であることを確認してください。主要なソースを明確にする可視性の高いドキュメントがない限り、リポジトリの複製またはミラーリングを避けてください。リポジトリURLに影響を与える可能性のある頻繁なリポジトリの変更を避けてください。リポジトリが公開されていることを確認してください。

    Macro Deck's source code is publicly accessible without authentication through its official GitHub repository at https://github.com/Macro-Deck-App/Macro-Deck. The repository provides a permanent URL where anyone can browse, clone, and review the project's source code.



    バージョン管理システムには、行われたすべての変更、誰が変更を行ったか、いつ変更が行われたかの公開読み取り可能な記録が含まれている必要があります。 [OSPS-QA-01.02]
    GitHub、GitLab、Bitbucketなどの一般的なVCSを使用して、公開読み取り可能なコミット履歴を維持します。コミットの作成者が不明瞭になるような方法でコミットをスカッシュまたは書き換えることは避けてください。

    Macro Deck uses Git and GitHub for version control. The repository maintains a publicly accessible commit history that records code changes, their authors, and timestamps. Each commit includes a unique identifier and can be inspected through GitHub, providing traceability of changes to the project's source code.

    https://github.com/Macro-Deck-App/Macro-Deck/commits/main/



    パッケージ管理システムがサポートしている場合、ソースコードリポジトリには、直接の言語依存関係を説明する依存関係リストが含まれている必要があります。 [OSPS-QA-02.01]
    これは、package.json、Gemfile、go.modなど、すべての直接依存関係を列挙するパッケージマネージャーまたは言語依存関係ファイルの形式を取ることができます。

    Macro Deck maintains its direct dependencies in version-controlled package manifests across its technology stack. .NET dependencies are declared using NuGet PackageReference entries in C# project files, with versions centrally managed through Directory.Packages.props. JavaScript and Angular dependencies are declared in package.json files, with package-lock.json providing reproducible dependency resolution. The Tauri-based desktop bootstrapper uses Rust's Cargo dependency management. These dependency manifests are maintained alongside the source code in the public GitHub repository.



    複数のリポジトリを持つプロジェクトは、プロジェクトの一部であるコードベースの一覧を文書化しなければならない。 [OSPS-QA-04.01]
    プロジェクトによって生成され、リリースにコンパイルされる追加のサブプロジェクトコードリポジトリを文書化します。このドキュメントには、それぞれのコードベースのステータスと意図を含める必要があります。

    Macro Deck maintains a publicly accessible list of its project repositories in the official GitHub organization profile README. The documentation provides direct links and descriptions of the repositories and their purposes.

    https://github.com/Macro-Deck-App/.github/blob/main/profile/README.md#repositories



    バージョン管理システムには、生成された実行可能な成果物を含めてはなりません(MUST NOT)。 [OSPS-QA-05.01]
    プロジェクトのバージョン管理システムで生成された実行可能アーティファクトを削除します。生成された実行可能アーティファクトがテストなどのプロセスで重要と思われるシナリオでは、代わりにビルド時に生成するか、別に保存して、明確に文書化されたパイプライン ステップ中に取得する必要があることが推奨されます。

    Macro Deck does not store generated executable artifacts in its source code repository. Compiled binaries, installers, and other build outputs are generated through the CI/CD pipeline and distributed separately via GitHub Releases. Build output directories are excluded from version control using .gitignore rules.



    バージョン管理システムには、レビュー不可能なバイナリ成果物を含めてはなりません(MUST NOT)。 [OSPS-QA-05.02]
    プロジェクトのバージョン管理システムにレビュー不可能なバイナリアーティファクトを追加しないでください。これには、実行可能なアプリケーションバイナリ、ライブラリファイル、および同様のアーティファクトが含まれます。これには、グラフィック画像、音声や音楽ファイル、および通常バイナリ形式で保存されるコンテンツなどのアセットは含まれません。

    Macro Deck keeps its source code and build configurations in human-readable formats. Compiled binaries and other non-reviewable build artifacts are distributed separately through GitHub Releases rather than being committed to the source repository. Binary assets required by the project, such as images and icons, are limited to resources necessary for the application's functionality.



    プロジェクトの文書には、セキュリティ連絡先を含めなければなりません(MUST)。 [OSPS-VM-02.01]
    プロジェクトのセキュリティ連絡先を含むsecurity.md(または同様の名前の)ファイルを作成してください。

    Macro Deck provides security contact information through its GitHub repository's security policy. Security vulnerabilities can be reported privately using GitHub's vulnerability reporting feature, allowing security issues to be disclosed without publicly exposing sensitive details.

    https://github.com/Macro-Deck-App/Macro-Deck/security/policy



ツールやAIシステムを使って、https://www.bestpractices.dev/ja/projects/15331/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforcedのような簡単なURLで変更を提案できます。その方法については、自動化提案システムをご覧ください。 このデータは、Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0)のもとで利用可能です。これは、データ受領者が、データ受領者がこの契約のテキストを共有データとともに利用可能にする限り、変更の有無にかかわらずデータを共有できることを意味します。Manuel MayerおよびOpenSSFベストプラクティスバッジのコントリビューターにクレジットを表示してください。

プロジェクト バッジ登録の所有者: Manuel Mayer.
エントリの作成日時 2026-10-09 09:58:51 UTC、 最終更新日 2026-10-09 10:11:23 UTC