diff --git a/404.html b/404.html index f1cdb913..6b9d37f5 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Page Not Found | OpenPathfinder - + diff --git a/assets/js/d0610505.cc6ebf0e.js b/assets/js/d0610505.45e6229e.js similarity index 94% rename from assets/js/d0610505.cc6ebf0e.js rename to assets/js/d0610505.45e6229e.js index 6031965c..fe79a067 100644 --- a/assets/js/d0610505.cc6ebf0e.js +++ b/assets/js/d0610505.45e6229e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkopenpathfinder_com=self.webpackChunkopenpathfinder_com||[]).push([[6436],{7982:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"type":"mdx","permalink":"/contribute","source":"@site/src/pages/contribute.md","title":"Contribute","description":"Before Anything","frontMatter":{"title":"Contribute"},"unlisted":false}');var t=i(4848),r=i(8453);const o={title:"Contribute"},c=void 0,d={},l=[{value:"Before Anything",id:"before-anything",level:2},{value:"Code of Conduct",id:"code-of-conduct",level:2},{value:"Developer's Certificate of Origin 1.1",id:"developers-certificate-of-origin-11",level:2},{value:"Supporting the Project",id:"supporting-the-project",level:2},{value:"How You Can Help",id:"how-you-can-help",level:3},{value:"Where to Contribute",id:"where-to-contribute",level:2},{value:"Website",id:"website",level:3},{value:"fortSphere",id:"fortsphere",level:3},{value:"visionBoard",id:"visionboard",level:3},{value:"Pull Requests",id:"pull-requests",level:2},{value:"Creating a Good PR",id:"creating-a-good-pr",level:3},{value:"Current Initiatives",id:"current-initiatives",level:2},{value:"Solve Technical Debt",id:"solve-technical-debt",level:3},{value:"Research on Compliance Checks for visionBoard",id:"research-on-compliance-checks-for-visionboard",level:3},{value:"Add Compliance Checks for visionBoard",id:"add-compliance-checks-for-visionboard",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",input:"input",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"before-anything",children:"Before Anything"}),"\n",(0,t.jsxs)(n.p,{children:["The project welcomes all contributions from anyone willing to work in good faith with other contributors and the community. No contribution is too small, and all contributions are valued. ",(0,t.jsxs)(n.strong,{children:["Any contribution to this project must follow the ",(0,t.jsx)(n.a,{href:"#code-of-conduct",children:"Code of Conduct"})," and the ",(0,t.jsx)(n.a,{href:"#developers-certificate-of-origin-11",children:"DCO"}),"."]})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"code-of-conduct",children:"Code of Conduct"}),"\n",(0,t.jsxs)(n.p,{children:["The project has a ",(0,t.jsx)(n.a,{href:"/code_of_conduct",children:"Code of Conduct"})," to which all contributors must adhere. This ensures a respectful and inclusive environment for everyone involved."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"developers-certificate-of-origin-11",children:"Developer's Certificate of Origin 1.1"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-text",children:"By making a contribution to this project, I certify that:\n\n (a) The contribution was created in whole or in part by me and I\n have the right to submit it under the open source license\n indicated in the file; or\n\n (b) The contribution is based upon previous work that, to the best\n of my knowledge, is covered under an appropriate open source\n license and I have the right under that license to submit that\n work with modifications, whether created in whole or in part\n by me, under the same open source license (unless I am\n permitted to submit under a different license), as indicated\n in the file; or\n\n (c) The contribution was provided directly to me by some other\n person who certified (a), (b) or (c) and I have not modified\n it.\n\n (d) I understand and agree that this project and the contribution\n are public and that a record of the contribution (including all\n personal information I submit with it, including my sign-off) is\n maintained indefinitely and may be redistributed consistent with\n this project or the open source license(s) involved.\n"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"supporting-the-project",children:"Supporting the Project"}),"\n",(0,t.jsx)(n.p,{children:"We are committed to providing tools that empower developers and organizations. However, building and maintaining open-source software requires resources. If you find value in our tools, consider supporting the project through donations."}),"\n",(0,t.jsx)(n.h3,{id:"how-you-can-help",children:"How You Can Help"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Individual Donations"}),": Contributions of any size are welcome and help us continue our work."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Corporate Sponsorship"}),": If you represent a company, you can sponsor the project and gain recognition while supporting the open-source community."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more details, visit our ",(0,t.jsx)(n.a,{href:"/support",children:"Sponsorship Page"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"where-to-contribute",children:"Where to Contribute"}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Any issue labeled ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22help+wanted%22+state%3A%22open%22&type=issues",children:"help wanted"})," or ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22good+first+issue%22+state%3A%22open%22&type=issues",children:"good first issue"})," is a great opportunity to help the project."]})}),"\n",(0,t.jsx)(n.p,{children:"Contributions can take many forms, from improving documentation to fixing bugs or adding features. Below are specific areas to focus your contributions:"}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.p,{children:["Contribute by improving documentation, user guides, and resources hosted on the ",(0,t.jsx)(n.a,{href:"https://openpathfinder.org",children:"OpenPathfinder website"}),". Typical contributions include:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Adding or editing guides."}),"\n",(0,t.jsx)(n.li,{children:"Fixing typos and broken links."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing readability and accessibility."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"fortsphere",children:"fortSphere"}),"\n",(0,t.jsx)(n.p,{children:"Help improve the CLI by:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Adding new commands."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing existing policies."}),"\n",(0,t.jsx)(n.li,{children:"Fixing bugs or optimizing performance."}),"\n",(0,t.jsx)(n.li,{children:"Expanding test coverage."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"visionboard",children:"visionBoard"}),"\n",(0,t.jsx)(n.p,{children:"VisionBoard contributions can include:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Writing or improving documentation."}),"\n",(0,t.jsx)(n.li,{children:"Adding new compliance checks."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing dashboards or reports."}),"\n",(0,t.jsx)(n.li,{children:"Answering user questions or providing community support."}),"\n",(0,t.jsx)(n.li,{children:"Running infrastructure and advocating for the project."}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"pull-requests",children:"Pull Requests"}),"\n",(0,t.jsx)(n.h3,{id:"creating-a-good-pr",children:"Creating a Good PR"}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to create a high-quality Pull Request (PR):"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Understand the Guidelines:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Read the ",(0,t.jsx)(n.a,{href:"/contribute",children:"Contributing Guidelines"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Adhere to the ",(0,t.jsx)(n.a,{href:"/code_of_conduct",children:"Code of Conduct"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Before You Start:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Link your PR to an issue if it addresses a bug or feature request."}),"\n",(0,t.jsx)(n.li,{children:"Sync with the main branch to avoid conflicts."}),"\n",(0,t.jsx)(n.li,{children:"Focus on one issue or feature per PR."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Writing the Code:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Follow ",(0,t.jsx)(n.a,{href:"https://standardjs.com/",children:"coding standards"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Write or update tests to cover your changes."}),"\n",(0,t.jsx)(n.li,{children:"Keep changes minimal and avoid unrelated edits."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Writing the PR:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Use a descriptive title."}),"\n",(0,t.jsxs)(n.li,{children:["Provide a detailed description, including ",(0,t.jsx)(n.strong,{children:"what"}),", ",(0,t.jsx)(n.strong,{children:"why"}),", and ",(0,t.jsx)(n.strong,{children:"how"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Link related issues (e.g., ",(0,t.jsx)(n.code,{children:"Closes #123"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Checklist Before Submission:"}),"\n",(0,t.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Code is linted and passes style checks."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Tests are added, updated, and pass."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Documentation is updated (if applicable)."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Branch is up-to-date with main."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Engage with Feedback:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Respond to comments promptly and revise as needed."}),"\n",(0,t.jsx)(n.li,{children:"Check CI results and address any failures."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"current-initiatives",children:"Current Initiatives"}),"\n",(0,t.jsx)(n.h3,{id:"solve-technical-debt",children:"Solve Technical Debt"}),"\n",(0,t.jsxs)(n.p,{children:["Contribute to the project by solving ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22technical-debt%22+state%3A%22open%22&type=issues",children:"technical debt issues"}),", especially those tagged as ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22good+first+issue%22+state%3A%22open%22&type=issues",children:"good first issue"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"research-on-compliance-checks-for-visionboard",children:"Research on Compliance Checks for visionBoard"}),"\n",(0,t.jsxs)(n.p,{children:["Help by researching compliance checks, defining implementations, and suggesting improvements. Look for issues tagged ",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aresearch-needed",children:"compliance-checks + research-needed"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"add-compliance-checks-for-visionboard",children:"Add Compliance Checks for visionBoard"}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to implement compliance checks:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["1. Define a Good Implementation (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/issues/43#issuecomment-2524594504",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Read the documentation (guidelines, best practices, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"Brainstorm the implementation details (logic, alerts, tasks, validations, edge cases, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"Reach an agreement on the implementation details before starting."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["2. Update Check Record (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Update the ",(0,t.jsx)(n.code,{children:"compliance_checks"})," row with fields like ",(0,t.jsx)(n.code,{children:"how_to_url"}),", ",(0,t.jsx)(n.code,{children:"implementation_status"}),", ",(0,t.jsx)(n.code,{children:"implementation_type"}),", and ",(0,t.jsx)(n.code,{children:"implementation_details_reference"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Test migration scripts using ",(0,t.jsx)(n.code,{children:"npm run db:migrate"})," and ",(0,t.jsx)(n.code,{children:"npm run db:rollback"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Update the database schema with ",(0,t.jsx)(n.code,{children:"npm run db:generate-schema"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["3. Implement the Business Logic (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b",children:"Validator Example"})," and ",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f",children:"Check Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Add the specific validator in ",(0,t.jsx)(n.code,{children:"src/checks/validators/index.js"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Add the check logic in ",(0,t.jsx)(n.code,{children:"src/checks/complianceChecks"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Calculate ",(0,t.jsx)(n.code,{children:"severity"})," accurately (",(0,t.jsx)(n.code,{children:"getSeverityFromPriorityGroup"}),")."]}),"\n",(0,t.jsxs)(n.li,{children:["Update relevant database tables (",(0,t.jsx)(n.code,{children:"compliance_checks_alerts"}),", ",(0,t.jsx)(n.code,{children:"compliance_checks_tasks"}),", ",(0,t.jsx)(n.code,{children:"compliance_checks_results"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"4. Ensure It Works as Expected:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Add unit tests for the validator check."}),"\n",(0,t.jsx)(n.li,{children:"Add integration test cases for the check."}),"\n",(0,t.jsx)(n.li,{children:"Verify all tests pass."}),"\n",(0,t.jsxs)(n.li,{children:["Run ",(0,t.jsx)(n.code,{children:"check run --name {check_code_name}"})," and verify database changes. Update the seed script if necessary (",(0,t.jsx)(n.code,{children:"npm run db:seed"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["5. Update the Website (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/website/pull/9",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Review content at ",(0,t.jsx)(n.code,{children:"https://openjs-security-program-standards.netlify.app/details/{check_code_name}"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Create a PR to include check calculation details and mitigation information."}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var s=i(6540);const t={},r=s.createContext(t);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkopenpathfinder_com=self.webpackChunkopenpathfinder_com||[]).push([[6436],{7982:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"type":"mdx","permalink":"/contribute","source":"@site/src/pages/contribute.md","title":"Contribute","description":"Before Anything","frontMatter":{"title":"Contribute"},"unlisted":false}');var t=i(4848),r=i(8453);const o={title:"Contribute"},c=void 0,d={},l=[{value:"Before Anything",id:"before-anything",level:2},{value:"Code of Conduct",id:"code-of-conduct",level:2},{value:"Developer's Certificate of Origin 1.1",id:"developers-certificate-of-origin-11",level:2},{value:"Supporting the Project",id:"supporting-the-project",level:2},{value:"How You Can Help",id:"how-you-can-help",level:3},{value:"Where to Contribute",id:"where-to-contribute",level:2},{value:"Website",id:"website",level:3},{value:"fortSphere",id:"fortsphere",level:3},{value:"visionBoard",id:"visionboard",level:3},{value:"Pull Requests",id:"pull-requests",level:2},{value:"Creating a Good PR",id:"creating-a-good-pr",level:3},{value:"Current Initiatives",id:"current-initiatives",level:2},{value:"Solve Technical Debt",id:"solve-technical-debt",level:3},{value:"Research on Compliance Checks for visionBoard",id:"research-on-compliance-checks-for-visionboard",level:3},{value:"Add Compliance Checks for visionBoard",id:"add-compliance-checks-for-visionboard",level:3}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",input:"input",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"before-anything",children:"Before Anything"}),"\n",(0,t.jsxs)(n.p,{children:["The project welcomes all contributions from anyone willing to work in good faith with other contributors and the community. No contribution is too small, and all contributions are valued. ",(0,t.jsxs)(n.strong,{children:["Any contribution to this project must follow the ",(0,t.jsx)(n.a,{href:"#code-of-conduct",children:"Code of Conduct"})," and the ",(0,t.jsx)(n.a,{href:"#developers-certificate-of-origin-11",children:"DCO"}),"."]})]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"code-of-conduct",children:"Code of Conduct"}),"\n",(0,t.jsxs)(n.p,{children:["The project has a ",(0,t.jsx)(n.a,{href:"/code_of_conduct",children:"Code of Conduct"})," to which all contributors must adhere. This ensures a respectful and inclusive environment for everyone involved."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"developers-certificate-of-origin-11",children:"Developer's Certificate of Origin 1.1"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-text",children:"By making a contribution to this project, I certify that:\n\n (a) The contribution was created in whole or in part by me and I\n have the right to submit it under the open source license\n indicated in the file; or\n\n (b) The contribution is based upon previous work that, to the best\n of my knowledge, is covered under an appropriate open source\n license and I have the right under that license to submit that\n work with modifications, whether created in whole or in part\n by me, under the same open source license (unless I am\n permitted to submit under a different license), as indicated\n in the file; or\n\n (c) The contribution was provided directly to me by some other\n person who certified (a), (b) or (c) and I have not modified\n it.\n\n (d) I understand and agree that this project and the contribution\n are public and that a record of the contribution (including all\n personal information I submit with it, including my sign-off) is\n maintained indefinitely and may be redistributed consistent with\n this project or the open source license(s) involved.\n"})}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"supporting-the-project",children:"Supporting the Project"}),"\n",(0,t.jsx)(n.p,{children:"We are committed to providing tools that empower developers and organizations. However, building and maintaining open-source software requires resources. If you find value in our tools, consider supporting the project through donations."}),"\n",(0,t.jsx)(n.h3,{id:"how-you-can-help",children:"How You Can Help"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Individual Donations"}),": Contributions of any size are welcome and help us continue our work."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Corporate Sponsorship"}),": If you represent a company, you can sponsor the project and gain recognition while supporting the open-source community."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["For more details, visit our ",(0,t.jsx)(n.a,{href:"/support",children:"Sponsorship Page"}),"."]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"where-to-contribute",children:"Where to Contribute"}),"\n",(0,t.jsx)(n.admonition,{type:"tip",children:(0,t.jsxs)(n.p,{children:["Any issue labeled ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22help+wanted%22+state%3A%22open%22&type=issues",children:"help wanted"})," or ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22good+first+issue%22+state%3A%22open%22&type=issues",children:"good first issue"})," is a great opportunity to help the project."]})}),"\n",(0,t.jsx)(n.p,{children:"Contributions can take many forms, from improving documentation to fixing bugs or adding features. Below are specific areas to focus your contributions:"}),"\n",(0,t.jsx)(n.h3,{id:"website",children:"Website"}),"\n",(0,t.jsxs)(n.p,{children:["Contribute by improving documentation, user guides, and resources hosted on the ",(0,t.jsx)(n.a,{href:"https://openpathfinder.org",children:"OpenPathfinder website"}),". Typical contributions include:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Adding or editing guides."}),"\n",(0,t.jsx)(n.li,{children:"Fixing typos and broken links."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing readability and accessibility."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"fortsphere",children:"fortSphere"}),"\n",(0,t.jsx)(n.p,{children:"Help improve the CLI by:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Adding new commands."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing existing policies."}),"\n",(0,t.jsx)(n.li,{children:"Fixing bugs or optimizing performance."}),"\n",(0,t.jsx)(n.li,{children:"Expanding test coverage."}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"visionboard",children:"visionBoard"}),"\n",(0,t.jsx)(n.p,{children:"VisionBoard contributions can include:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Writing or improving documentation."}),"\n",(0,t.jsx)(n.li,{children:"Adding new compliance checks."}),"\n",(0,t.jsx)(n.li,{children:"Enhancing dashboards or reports."}),"\n",(0,t.jsx)(n.li,{children:"Answering user questions or providing community support."}),"\n",(0,t.jsx)(n.li,{children:"Running infrastructure and advocating for the project."}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"pull-requests",children:"Pull Requests"}),"\n",(0,t.jsx)(n.h3,{id:"creating-a-good-pr",children:"Creating a Good PR"}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to create a high-quality Pull Request (PR):"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Understand the Guidelines:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Read the ",(0,t.jsx)(n.a,{href:"/contribute",children:"Contributing Guidelines"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Adhere to the ",(0,t.jsx)(n.a,{href:"/code_of_conduct",children:"Code of Conduct"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Before You Start:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Link your PR to an issue if it addresses a bug or feature request."}),"\n",(0,t.jsx)(n.li,{children:"Sync with the main branch to avoid conflicts."}),"\n",(0,t.jsx)(n.li,{children:"Focus on one issue or feature per PR."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Writing the Code:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Follow ",(0,t.jsx)(n.a,{href:"https://standardjs.com/",children:"coding standards"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Write or update tests to cover your changes."}),"\n",(0,t.jsx)(n.li,{children:"Keep changes minimal and avoid unrelated edits."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Writing the PR:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Use a descriptive title."}),"\n",(0,t.jsxs)(n.li,{children:["Provide a detailed description, including ",(0,t.jsx)(n.strong,{children:"what"}),", ",(0,t.jsx)(n.strong,{children:"why"}),", and ",(0,t.jsx)(n.strong,{children:"how"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Link related issues (e.g., ",(0,t.jsx)(n.code,{children:"Closes #123"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Checklist Before Submission:"}),"\n",(0,t.jsxs)(n.ul,{className:"contains-task-list",children:["\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Code is linted and passes style checks."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Tests are added, updated, and pass."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Documentation is updated (if applicable)."]}),"\n",(0,t.jsxs)(n.li,{className:"task-list-item",children:[(0,t.jsx)(n.input,{type:"checkbox",disabled:!0})," ","Branch is up-to-date with main."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Engage with Feedback:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Respond to comments promptly and revise as needed."}),"\n",(0,t.jsx)(n.li,{children:"Check CI results and address any failures."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.hr,{}),"\n",(0,t.jsx)(n.h2,{id:"current-initiatives",children:"Current Initiatives"}),"\n",(0,t.jsx)(n.h3,{id:"solve-technical-debt",children:"Solve Technical Debt"}),"\n",(0,t.jsxs)(n.p,{children:["Contribute to the project by solving ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22technical-debt%22+state%3A%22open%22&type=issues",children:"technical debt issues"}),", especially those tagged as ",(0,t.jsx)(n.a,{href:"https://github.com/search?q=org%3AOpenPathfinder+label%3A%22good+first+issue%22+state%3A%22open%22&type=issues",children:"good first issue"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"research-on-compliance-checks-for-visionboard",children:"Research on Compliance Checks for visionBoard"}),"\n",(0,t.jsxs)(n.p,{children:["Help by researching compliance checks, defining implementations, and suggesting improvements. Look for issues tagged ",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aresearch-needed",children:"compliance-checks + research-needed"}),"."]}),"\n",(0,t.jsx)(n.h3,{id:"add-compliance-checks-for-visionboard",children:"Add Compliance Checks for visionBoard"}),"\n",(0,t.jsx)(n.p,{children:"Follow these steps to implement compliance checks:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["1. Define a Good Implementation (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/issues/43#issuecomment-2524594504",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Read the documentation (guidelines, best practices, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"Brainstorm the implementation details (logic, alerts, tasks, validations, edge cases, etc.)."}),"\n",(0,t.jsx)(n.li,{children:"Reach an agreement on the implementation details before starting."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["2. Update Check Record (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Update the ",(0,t.jsx)(n.code,{children:"compliance_checks"})," row with fields like ",(0,t.jsx)(n.code,{children:"how_to_url"}),", ",(0,t.jsx)(n.code,{children:"implementation_status"}),", ",(0,t.jsx)(n.code,{children:"implementation_type"}),", and ",(0,t.jsx)(n.code,{children:"implementation_details_reference"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Test migration scripts using ",(0,t.jsx)(n.code,{children:"npm run db:migrate"})," and ",(0,t.jsx)(n.code,{children:"npm run db:rollback"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Update the database schema with ",(0,t.jsx)(n.code,{children:"npm run db:generate-schema"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["3. Implement the Business Logic (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b",children:"Validator Example"})," and ",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/visionBoard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f",children:"Check Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Add the specific validator in ",(0,t.jsx)(n.code,{children:"src/checks/validators/index.js"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Add the check logic in ",(0,t.jsx)(n.code,{children:"src/checks/complianceChecks"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["Calculate ",(0,t.jsx)(n.code,{children:"severity"})," accurately (",(0,t.jsx)(n.code,{children:"getSeverityFromPriorityGroup"}),")."]}),"\n",(0,t.jsxs)(n.li,{children:["Update relevant database tables (",(0,t.jsx)(n.code,{children:"compliance_checks_alerts"}),", ",(0,t.jsx)(n.code,{children:"compliance_checks_tasks"}),", ",(0,t.jsx)(n.code,{children:"compliance_checks_results"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"4. Ensure It Works as Expected:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Add unit tests for the validator check."}),"\n",(0,t.jsx)(n.li,{children:"Add integration test cases for the check."}),"\n",(0,t.jsx)(n.li,{children:"Verify all tests pass."}),"\n",(0,t.jsxs)(n.li,{children:["Run ",(0,t.jsx)(n.code,{children:"check run --name {check_code_name}"})," and verify database changes. Update the seed script if necessary (",(0,t.jsx)(n.code,{children:"npm run db:seed"}),")."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsxs)(n.strong,{children:["5. Update the Website (",(0,t.jsx)(n.a,{href:"https://github.com/OpenPathfinder/openpathfinder.com/pull/20",children:"Example"}),"):"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Review content at ",(0,t.jsx)(n.code,{children:"https://openpathfinder.com/docs/checks/{check_code_name}"}),"."]}),"\n",(0,t.jsx)(n.li,{children:"Create a PR to include check calculation details and mitigation information."}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var s=i(6540);const t={},r=s.createContext(t);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.d1da3fea.js b/assets/js/runtime~main.b5caf7cf.js similarity index 99% rename from assets/js/runtime~main.d1da3fea.js rename to assets/js/runtime~main.b5caf7cf.js index 68befd66..856783e6 100644 --- a/assets/js/runtime~main.d1da3fea.js +++ b/assets/js/runtime~main.b5caf7cf.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({297:"3e3f8afb",320:"687d05ef",351:"c783711f",463:"1b2107de",688:"d16f3476",849:"0058b4c6",867:"33fc5bb8",895:"dfe8f560",1235:"a7456010",1256:"393ba21b",1326:"5a17a8ec",1617:"4b4b8639",1903:"acecf23e",1939:"5e2f577c",2234:"2ecbc0a3",2257:"e6f1d5d9",2304:"b56c404a",2363:"48839c03",2401:"a9bd7a82",2419:"2c88a29c",2556:"d6e7704d",2634:"c4f5d8e4",2711:"9e4087bc",2741:"93f558ea",2775:"81815e46",2781:"1583b5bf",2809:"926e56cd",2841:"627645e7",2867:"3529e74c",2998:"c8b7c897",3079:"2a593a4e",3158:"dc45dbf7",3232:"39a493bb",3249:"ccc49370",3279:"1c0665c0",3462:"13496b6f",3532:"b71b16fd",3649:"8411a829",3680:"96d836a2",3784:"03f1d649",4021:"317df7e9",4027:"91e84a2b",4054:"bfdcba1f",4212:"621db11d",4236:"cb1794b5",4243:"f21c5a11",4300:"6938fd43",4327:"ee6e0711",4347:"9dc2b54c",4381:"f2afad6f",4410:"9661a930",4613:"dee25b21",4788:"ddbe62bb",4874:"bfb2d4f7",4944:"156a7111",4950:"ab6fc2ad",4984:"7c6ad78a",5093:"e7c205ff",5398:"fc4e95ad",5465:"d57bdc25",5492:"02f31de4",5742:"aba21aa0",5770:"cf56bd45",5794:"c5c9028c",5826:"55f512de",6019:"0e89e520",6061:"1f391b9e",6117:"6a80caa6",6132:"c2c46ee1",6378:"ac3acf4f",6436:"d0610505",6444:"cc6b43f4",6534:"c3170973",6684:"9b868f8b",6728:"e9dbec8c",6789:"0297f842",6898:"5d603b6e",7012:"8b8cddd6",7098:"a7bd4aaa",7131:"f46495c3",7448:"da8ed1df",7472:"814f3328",7555:"fb1f78f2",7602:"2172f098",7643:"a6aa9e1f",7700:"3c5b8a9b",7780:"a2d3d900",7792:"21def865",7856:"e515a9f3",8130:"f81c1134",8146:"c15d9823",8230:"6fcd55b8",8348:"70c1ce99",8359:"26a098ec",8401:"17896441",8563:"206b12a4",8577:"d7a584c2",8705:"d9342d57",8715:"7a9d532a",8945:"67d59855",8947:"ef8b811a",9048:"a94703ab",9080:"3d851916",9378:"4929c21c",9385:"06b8786a",9453:"6d62ba6e",9505:"9aaa4ed7",9647:"5e95c892",9671:"5f94ff8b",9684:"c4c85cfe",9714:"4761d20c",9805:"43aa4c08",9858:"36994c47",9913:"fdba8d0c",9914:"76398fbb",9925:"6019a4a6"}[e]||e)+"."+{297:"4138ec3d",320:"898e25f1",351:"545be957",463:"0d1c50b3",688:"576066bd",849:"a98ae327",867:"edbf5631",895:"8135cce1",1235:"103edb76",1256:"f1d840ff",1326:"8482ac57",1538:"d2b38bef",1617:"b54cc0cc",1903:"8ecfe5bb",1939:"129b5a4a",2234:"c2aaf1bd",2237:"b72acfc7",2257:"f002131f",2304:"fde89478",2363:"93228eea",2401:"9a581012",2419:"f1a9c361",2556:"150f96a8",2634:"892584d7",2711:"8931c1ef",2741:"da5376ea",2775:"822adb53",2781:"23f85637",2809:"c51d0dce",2841:"bfcac991",2867:"17141655",2998:"3f360acf",3079:"550599a8",3158:"f07214f1",3232:"e78851bb",3249:"54c025e6",3279:"5fe3020f",3347:"c8cb4718",3462:"7cf354aa",3532:"d33c2e64",3649:"ec18df3d",3680:"e146e384",3784:"799181d7",4021:"821ae95e",4027:"2bd54c78",4054:"0da1833c",4212:"67fb4802",4236:"146f3d62",4243:"ef92ea49",4300:"a2c61b10",4327:"5cc85f53",4347:"82425f04",4381:"460788b9",4410:"a6074bbc",4613:"fe612a26",4788:"573b3d1e",4874:"4e426d30",4944:"bf608139",4950:"46105c3a",4984:"f6cbe8e2",5093:"5c22f914",5398:"eb389543",5465:"5f9acc56",5492:"a895e635",5742:"819b351c",5770:"99ffd590",5794:"76e43f37",5826:"85dde8d2",6019:"03699f29",6061:"f5a69655",6117:"22b847d4",6132:"d9c1cb99",6378:"3b180028",6436:"cc6ebf0e",6444:"cca33b77",6534:"8e6d3b40",6684:"c62cbca5",6728:"50eda2b1",6789:"e37f4af6",6898:"424a959b",7012:"f647d980",7098:"39c667ac",7131:"d25196e0",7448:"8f5360d5",7472:"7c1d0c3a",7555:"dde3c07c",7602:"e4eec58b",7643:"6769321d",7700:"0ad6167e",7780:"454c79b4",7792:"2a6e22bd",7856:"6af8d118",8130:"33fa168f",8146:"f947b6be",8230:"44f8f698",8348:"fb894b01",8359:"6482c1c9",8401:"1fcb30c2",8563:"8f9245ca",8577:"be5a83fc",8705:"a2610b49",8715:"0a297122",8945:"17edb816",8947:"52e4f801",9048:"6d889c6b",9080:"ae0c18a8",9378:"07ffe8dc",9385:"7a3dd9ac",9453:"b5d56c33",9505:"63da1629",9647:"a8dc8afb",9671:"6e8723f1",9684:"e3e6a90f",9714:"7ebe4d48",9805:"48aa7bfa",9858:"d7bdbcc7",9913:"b75da482",9914:"76dd1551",9925:"920febdb"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="openpathfinder.com:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401","3e3f8afb":"297","687d05ef":"320",c783711f:"351","1b2107de":"463",d16f3476:"688","0058b4c6":"849","33fc5bb8":"867",dfe8f560:"895",a7456010:"1235","393ba21b":"1256","5a17a8ec":"1326","4b4b8639":"1617",acecf23e:"1903","5e2f577c":"1939","2ecbc0a3":"2234",e6f1d5d9:"2257",b56c404a:"2304","48839c03":"2363",a9bd7a82:"2401","2c88a29c":"2419",d6e7704d:"2556",c4f5d8e4:"2634","9e4087bc":"2711","93f558ea":"2741","81815e46":"2775","1583b5bf":"2781","926e56cd":"2809","627645e7":"2841","3529e74c":"2867",c8b7c897:"2998","2a593a4e":"3079",dc45dbf7:"3158","39a493bb":"3232",ccc49370:"3249","1c0665c0":"3279","13496b6f":"3462",b71b16fd:"3532","8411a829":"3649","96d836a2":"3680","03f1d649":"3784","317df7e9":"4021","91e84a2b":"4027",bfdcba1f:"4054","621db11d":"4212",cb1794b5:"4236",f21c5a11:"4243","6938fd43":"4300",ee6e0711:"4327","9dc2b54c":"4347",f2afad6f:"4381","9661a930":"4410",dee25b21:"4613",ddbe62bb:"4788",bfb2d4f7:"4874","156a7111":"4944",ab6fc2ad:"4950","7c6ad78a":"4984",e7c205ff:"5093",fc4e95ad:"5398",d57bdc25:"5465","02f31de4":"5492",aba21aa0:"5742",cf56bd45:"5770",c5c9028c:"5794","55f512de":"5826","0e89e520":"6019","1f391b9e":"6061","6a80caa6":"6117",c2c46ee1:"6132",ac3acf4f:"6378",d0610505:"6436",cc6b43f4:"6444",c3170973:"6534","9b868f8b":"6684",e9dbec8c:"6728","0297f842":"6789","5d603b6e":"6898","8b8cddd6":"7012",a7bd4aaa:"7098",f46495c3:"7131",da8ed1df:"7448","814f3328":"7472",fb1f78f2:"7555","2172f098":"7602",a6aa9e1f:"7643","3c5b8a9b":"7700",a2d3d900:"7780","21def865":"7792",e515a9f3:"7856",f81c1134:"8130",c15d9823:"8146","6fcd55b8":"8230","70c1ce99":"8348","26a098ec":"8359","206b12a4":"8563",d7a584c2:"8577",d9342d57:"8705","7a9d532a":"8715","67d59855":"8945",ef8b811a:"8947",a94703ab:"9048","3d851916":"9080","4929c21c":"9378","06b8786a":"9385","6d62ba6e":"9453","9aaa4ed7":"9505","5e95c892":"9647","5f94ff8b":"9671",c4c85cfe:"9684","4761d20c":"9714","43aa4c08":"9805","36994c47":"9858",fdba8d0c:"9913","76398fbb":"9914","6019a4a6":"9925"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({297:"3e3f8afb",320:"687d05ef",351:"c783711f",463:"1b2107de",688:"d16f3476",849:"0058b4c6",867:"33fc5bb8",895:"dfe8f560",1235:"a7456010",1256:"393ba21b",1326:"5a17a8ec",1617:"4b4b8639",1903:"acecf23e",1939:"5e2f577c",2234:"2ecbc0a3",2257:"e6f1d5d9",2304:"b56c404a",2363:"48839c03",2401:"a9bd7a82",2419:"2c88a29c",2556:"d6e7704d",2634:"c4f5d8e4",2711:"9e4087bc",2741:"93f558ea",2775:"81815e46",2781:"1583b5bf",2809:"926e56cd",2841:"627645e7",2867:"3529e74c",2998:"c8b7c897",3079:"2a593a4e",3158:"dc45dbf7",3232:"39a493bb",3249:"ccc49370",3279:"1c0665c0",3462:"13496b6f",3532:"b71b16fd",3649:"8411a829",3680:"96d836a2",3784:"03f1d649",4021:"317df7e9",4027:"91e84a2b",4054:"bfdcba1f",4212:"621db11d",4236:"cb1794b5",4243:"f21c5a11",4300:"6938fd43",4327:"ee6e0711",4347:"9dc2b54c",4381:"f2afad6f",4410:"9661a930",4613:"dee25b21",4788:"ddbe62bb",4874:"bfb2d4f7",4944:"156a7111",4950:"ab6fc2ad",4984:"7c6ad78a",5093:"e7c205ff",5398:"fc4e95ad",5465:"d57bdc25",5492:"02f31de4",5742:"aba21aa0",5770:"cf56bd45",5794:"c5c9028c",5826:"55f512de",6019:"0e89e520",6061:"1f391b9e",6117:"6a80caa6",6132:"c2c46ee1",6378:"ac3acf4f",6436:"d0610505",6444:"cc6b43f4",6534:"c3170973",6684:"9b868f8b",6728:"e9dbec8c",6789:"0297f842",6898:"5d603b6e",7012:"8b8cddd6",7098:"a7bd4aaa",7131:"f46495c3",7448:"da8ed1df",7472:"814f3328",7555:"fb1f78f2",7602:"2172f098",7643:"a6aa9e1f",7700:"3c5b8a9b",7780:"a2d3d900",7792:"21def865",7856:"e515a9f3",8130:"f81c1134",8146:"c15d9823",8230:"6fcd55b8",8348:"70c1ce99",8359:"26a098ec",8401:"17896441",8563:"206b12a4",8577:"d7a584c2",8705:"d9342d57",8715:"7a9d532a",8945:"67d59855",8947:"ef8b811a",9048:"a94703ab",9080:"3d851916",9378:"4929c21c",9385:"06b8786a",9453:"6d62ba6e",9505:"9aaa4ed7",9647:"5e95c892",9671:"5f94ff8b",9684:"c4c85cfe",9714:"4761d20c",9805:"43aa4c08",9858:"36994c47",9913:"fdba8d0c",9914:"76398fbb",9925:"6019a4a6"}[e]||e)+"."+{297:"4138ec3d",320:"898e25f1",351:"545be957",463:"0d1c50b3",688:"576066bd",849:"a98ae327",867:"edbf5631",895:"8135cce1",1235:"103edb76",1256:"f1d840ff",1326:"8482ac57",1538:"d2b38bef",1617:"b54cc0cc",1903:"8ecfe5bb",1939:"129b5a4a",2234:"c2aaf1bd",2237:"b72acfc7",2257:"f002131f",2304:"fde89478",2363:"93228eea",2401:"9a581012",2419:"f1a9c361",2556:"150f96a8",2634:"892584d7",2711:"8931c1ef",2741:"da5376ea",2775:"822adb53",2781:"23f85637",2809:"c51d0dce",2841:"bfcac991",2867:"17141655",2998:"3f360acf",3079:"550599a8",3158:"f07214f1",3232:"e78851bb",3249:"54c025e6",3279:"5fe3020f",3347:"c8cb4718",3462:"7cf354aa",3532:"d33c2e64",3649:"ec18df3d",3680:"e146e384",3784:"799181d7",4021:"821ae95e",4027:"2bd54c78",4054:"0da1833c",4212:"67fb4802",4236:"146f3d62",4243:"ef92ea49",4300:"a2c61b10",4327:"5cc85f53",4347:"82425f04",4381:"460788b9",4410:"a6074bbc",4613:"fe612a26",4788:"573b3d1e",4874:"4e426d30",4944:"bf608139",4950:"46105c3a",4984:"f6cbe8e2",5093:"5c22f914",5398:"eb389543",5465:"5f9acc56",5492:"a895e635",5742:"819b351c",5770:"99ffd590",5794:"76e43f37",5826:"85dde8d2",6019:"03699f29",6061:"f5a69655",6117:"22b847d4",6132:"d9c1cb99",6378:"3b180028",6436:"45e6229e",6444:"cca33b77",6534:"8e6d3b40",6684:"c62cbca5",6728:"50eda2b1",6789:"e37f4af6",6898:"424a959b",7012:"f647d980",7098:"39c667ac",7131:"d25196e0",7448:"8f5360d5",7472:"7c1d0c3a",7555:"dde3c07c",7602:"e4eec58b",7643:"6769321d",7700:"0ad6167e",7780:"454c79b4",7792:"2a6e22bd",7856:"6af8d118",8130:"33fa168f",8146:"f947b6be",8230:"44f8f698",8348:"fb894b01",8359:"6482c1c9",8401:"1fcb30c2",8563:"8f9245ca",8577:"be5a83fc",8705:"a2610b49",8715:"0a297122",8945:"17edb816",8947:"52e4f801",9048:"6d889c6b",9080:"ae0c18a8",9378:"07ffe8dc",9385:"7a3dd9ac",9453:"b5d56c33",9505:"63da1629",9647:"a8dc8afb",9671:"6e8723f1",9684:"e3e6a90f",9714:"7ebe4d48",9805:"48aa7bfa",9858:"d7bdbcc7",9913:"b75da482",9914:"76dd1551",9925:"920febdb"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="openpathfinder.com:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401","3e3f8afb":"297","687d05ef":"320",c783711f:"351","1b2107de":"463",d16f3476:"688","0058b4c6":"849","33fc5bb8":"867",dfe8f560:"895",a7456010:"1235","393ba21b":"1256","5a17a8ec":"1326","4b4b8639":"1617",acecf23e:"1903","5e2f577c":"1939","2ecbc0a3":"2234",e6f1d5d9:"2257",b56c404a:"2304","48839c03":"2363",a9bd7a82:"2401","2c88a29c":"2419",d6e7704d:"2556",c4f5d8e4:"2634","9e4087bc":"2711","93f558ea":"2741","81815e46":"2775","1583b5bf":"2781","926e56cd":"2809","627645e7":"2841","3529e74c":"2867",c8b7c897:"2998","2a593a4e":"3079",dc45dbf7:"3158","39a493bb":"3232",ccc49370:"3249","1c0665c0":"3279","13496b6f":"3462",b71b16fd:"3532","8411a829":"3649","96d836a2":"3680","03f1d649":"3784","317df7e9":"4021","91e84a2b":"4027",bfdcba1f:"4054","621db11d":"4212",cb1794b5:"4236",f21c5a11:"4243","6938fd43":"4300",ee6e0711:"4327","9dc2b54c":"4347",f2afad6f:"4381","9661a930":"4410",dee25b21:"4613",ddbe62bb:"4788",bfb2d4f7:"4874","156a7111":"4944",ab6fc2ad:"4950","7c6ad78a":"4984",e7c205ff:"5093",fc4e95ad:"5398",d57bdc25:"5465","02f31de4":"5492",aba21aa0:"5742",cf56bd45:"5770",c5c9028c:"5794","55f512de":"5826","0e89e520":"6019","1f391b9e":"6061","6a80caa6":"6117",c2c46ee1:"6132",ac3acf4f:"6378",d0610505:"6436",cc6b43f4:"6444",c3170973:"6534","9b868f8b":"6684",e9dbec8c:"6728","0297f842":"6789","5d603b6e":"6898","8b8cddd6":"7012",a7bd4aaa:"7098",f46495c3:"7131",da8ed1df:"7448","814f3328":"7472",fb1f78f2:"7555","2172f098":"7602",a6aa9e1f:"7643","3c5b8a9b":"7700",a2d3d900:"7780","21def865":"7792",e515a9f3:"7856",f81c1134:"8130",c15d9823:"8146","6fcd55b8":"8230","70c1ce99":"8348","26a098ec":"8359","206b12a4":"8563",d7a584c2:"8577",d9342d57:"8705","7a9d532a":"8715","67d59855":"8945",ef8b811a:"8947",a94703ab:"9048","3d851916":"9080","4929c21c":"9378","06b8786a":"9385","6d62ba6e":"9453","9aaa4ed7":"9505","5e95c892":"9647","5f94ff8b":"9671",c4c85cfe:"9684","4761d20c":"9714","43aa4c08":"9805","36994c47":"9858",fdba8d0c:"9913","76398fbb":"9914","6019a4a6":"9925"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n Archive | OpenPathfinder - + diff --git a/blog/authors/index.html b/blog/authors/index.html index 4637b37f..13d165b9 100644 --- a/blog/authors/index.html +++ b/blog/authors/index.html @@ -5,7 +5,7 @@ Authors | OpenPathfinder - + diff --git a/blog/authors/ulisesgascon/index.html b/blog/authors/ulisesgascon/index.html index eb1cadf8..60efc4a9 100644 --- a/blog/authors/ulisesgascon/index.html +++ b/blog/authors/ulisesgascon/index.html @@ -5,7 +5,7 @@ Ulises Gascón - One post | OpenPathfinder - + diff --git a/blog/index.html b/blog/index.html index ddf3b173..d74aa7ab 100644 --- a/blog/index.html +++ b/blog/index.html @@ -5,7 +5,7 @@ Blog | OpenPathfinder - + diff --git a/blog/welcome/index.html b/blog/welcome/index.html index 0b644b84..af6ff87d 100644 --- a/blog/welcome/index.html +++ b/blog/welcome/index.html @@ -5,7 +5,7 @@ Welcome to OpenPathfinder: Explore Our Mission and Tools | OpenPathfinder - + diff --git a/code_of_conduct/index.html b/code_of_conduct/index.html index 7977299b..92a3554b 100644 --- a/code_of_conduct/index.html +++ b/code_of_conduct/index.html @@ -5,7 +5,7 @@ Contributor Covenant Code of Conduct | OpenPathfinder - + diff --git a/contribute/index.html b/contribute/index.html index 55607017..e64aaca6 100644 --- a/contribute/index.html +++ b/contribute/index.html @@ -5,7 +5,7 @@ Contribute | OpenPathfinder - + @@ -140,9 +140,9 @@

Example): +
  • 5. Update the Website (Example):
      -
    • Review content at https://openjs-security-program-standards.netlify.app/details/{check_code_name}.
    • +
    • Review content at https://openpathfinder.com/docs/checks/{check_code_name}.
    • Create a PR to include check calculation details and mitigation information.
  • diff --git a/docs/checks/MFAImpersonationDefense/index.html b/docs/checks/MFAImpersonationDefense/index.html index 642a3f3c..9f022172 100644 --- a/docs/checks/MFAImpersonationDefense/index.html +++ b/docs/checks/MFAImpersonationDefense/index.html @@ -5,7 +5,7 @@ Use MFA against impersonation | OpenPathfinder - + diff --git a/docs/checks/PRsBeforeMerge/index.html b/docs/checks/PRsBeforeMerge/index.html index 8cd6e432..8ab0c6ae 100644 --- a/docs/checks/PRsBeforeMerge/index.html +++ b/docs/checks/PRsBeforeMerge/index.html @@ -5,7 +5,7 @@ Require Pull Requests Before Merging | OpenPathfinder - + diff --git a/docs/checks/SSHKeysRequired/index.html b/docs/checks/SSHKeysRequired/index.html index 915e3a77..8c297012 100644 --- a/docs/checks/SSHKeysRequired/index.html +++ b/docs/checks/SSHKeysRequired/index.html @@ -5,7 +5,7 @@ Use SSH Keys with Passphrases for Repository Access | OpenPathfinder - + diff --git a/docs/checks/activeAdminsSixMonths/index.html b/docs/checks/activeAdminsSixMonths/index.html index 7268c21b..88195409 100644 --- a/docs/checks/activeAdminsSixMonths/index.html +++ b/docs/checks/activeAdminsSixMonths/index.html @@ -5,7 +5,7 @@ Require Active Admins in GitHub Org (Activity in 6 Months) | OpenPathfinder - + diff --git a/docs/checks/activeWritersSixMonths/index.html b/docs/checks/activeWritersSixMonths/index.html index fa44a164..afd6aee9 100644 --- a/docs/checks/activeWritersSixMonths/index.html +++ b/docs/checks/activeWritersSixMonths/index.html @@ -5,7 +5,7 @@ Require Active Members with Write Access (Activity in 6 Months) | OpenPathfinder - + diff --git a/docs/checks/adminRepoCreationOnly/index.html b/docs/checks/adminRepoCreationOnly/index.html index 295ca6f4..cefec70c 100644 --- a/docs/checks/adminRepoCreationOnly/index.html +++ b/docs/checks/adminRepoCreationOnly/index.html @@ -5,7 +5,7 @@ Allow Only Admins to Create Public Repositories | OpenPathfinder - + diff --git a/docs/checks/annualDependencyRefresh/index.html b/docs/checks/annualDependencyRefresh/index.html index ee7b5bf5..2db1cd35 100644 --- a/docs/checks/annualDependencyRefresh/index.html +++ b/docs/checks/annualDependencyRefresh/index.html @@ -5,7 +5,7 @@ Refresh Dependencies with Annual Releases | OpenPathfinder - + diff --git a/docs/checks/assignCVEForKnownVulns/index.html b/docs/checks/assignCVEForKnownVulns/index.html index 67115b27..9715c5fa 100644 --- a/docs/checks/assignCVEForKnownVulns/index.html +++ b/docs/checks/assignCVEForKnownVulns/index.html @@ -5,7 +5,7 @@ Assign CVEs to All Known Security Vulnerabilities | OpenPathfinder - + diff --git a/docs/checks/automateDependencyManagement/index.html b/docs/checks/automateDependencyManagement/index.html index 2aae9ef0..fd1992b8 100644 --- a/docs/checks/automateDependencyManagement/index.html +++ b/docs/checks/automateDependencyManagement/index.html @@ -5,7 +5,7 @@ Automate Monitoring of Outdated Dependencies | OpenPathfinder - + diff --git a/docs/checks/automateVulnDetection/index.html b/docs/checks/automateVulnDetection/index.html index 1ed44c63..e425d03d 100644 --- a/docs/checks/automateVulnDetection/index.html +++ b/docs/checks/automateVulnDetection/index.html @@ -5,7 +5,7 @@ Automate Dependency Vulnerability Identification | OpenPathfinder - + diff --git a/docs/checks/blockWorkflowPRApproval/index.html b/docs/checks/blockWorkflowPRApproval/index.html index 00fde750..16b62dcd 100644 --- a/docs/checks/blockWorkflowPRApproval/index.html +++ b/docs/checks/blockWorkflowPRApproval/index.html @@ -5,7 +5,7 @@ Prevent Workflows from Creating or Approving PRs | OpenPathfinder - + diff --git a/docs/checks/ciAndCdPipelineAsCode/index.html b/docs/checks/ciAndCdPipelineAsCode/index.html index e696f408..2ed94095 100644 --- a/docs/checks/ciAndCdPipelineAsCode/index.html +++ b/docs/checks/ciAndCdPipelineAsCode/index.html @@ -5,7 +5,7 @@ Automate CI/CD Steps in Code-Based Pipelines | OpenPathfinder - + diff --git a/docs/checks/commitSignoffForWeb/index.html b/docs/checks/commitSignoffForWeb/index.html index 3717d44b..9208104e 100644 --- a/docs/checks/commitSignoffForWeb/index.html +++ b/docs/checks/commitSignoffForWeb/index.html @@ -5,7 +5,7 @@ Enforce Commit Signoff for Web-Based Commits | OpenPathfinder - + diff --git a/docs/checks/commitStatusChecks/index.html b/docs/checks/commitStatusChecks/index.html index e858376b..5a41db00 100644 --- a/docs/checks/commitStatusChecks/index.html +++ b/docs/checks/commitStatusChecks/index.html @@ -5,7 +5,7 @@ Require Commit Status Checks to Pass Before Merging | OpenPathfinder - + diff --git a/docs/checks/consistentBuildProcessDocs/index.html b/docs/checks/consistentBuildProcessDocs/index.html index 29789c73..df0e9290 100644 --- a/docs/checks/consistentBuildProcessDocs/index.html +++ b/docs/checks/consistentBuildProcessDocs/index.html @@ -5,7 +5,7 @@ Document Consistent and Automated Build Processes | OpenPathfinder - + diff --git a/docs/checks/defaultTokenPermissionsReadOnly/index.html b/docs/checks/defaultTokenPermissionsReadOnly/index.html index 7340b9d7..32cb5cc5 100644 --- a/docs/checks/defaultTokenPermissionsReadOnly/index.html +++ b/docs/checks/defaultTokenPermissionsReadOnly/index.html @@ -5,7 +5,7 @@ Set Default GitHub Workflow Token Permissions to Read Only | OpenPathfinder - + diff --git a/docs/checks/defineFunctionalRoles/index.html b/docs/checks/defineFunctionalRoles/index.html index 1b6ff222..00b6a0b4 100644 --- a/docs/checks/defineFunctionalRoles/index.html +++ b/docs/checks/defineFunctionalRoles/index.html @@ -5,7 +5,7 @@ Define Roles Aligned to Functional Responsibilities | OpenPathfinder - + diff --git a/docs/checks/forkWorkflowApproval/index.html b/docs/checks/forkWorkflowApproval/index.html index cd7e25ca..0acf976b 100644 --- a/docs/checks/forkWorkflowApproval/index.html +++ b/docs/checks/forkWorkflowApproval/index.html @@ -5,7 +5,7 @@ Require Approval for Forked Workflow Changes | OpenPathfinder - + diff --git a/docs/checks/githubOrgMFA/index.html b/docs/checks/githubOrgMFA/index.html index e670ea1a..e70eb129 100644 --- a/docs/checks/githubOrgMFA/index.html +++ b/docs/checks/githubOrgMFA/index.html @@ -5,7 +5,7 @@ Enforce MFA in GitHub Organization(s) | OpenPathfinder - + diff --git a/docs/checks/githubWebhookSecrets/index.html b/docs/checks/githubWebhookSecrets/index.html index 1245d528..9b3531fc 100644 --- a/docs/checks/githubWebhookSecrets/index.html +++ b/docs/checks/githubWebhookSecrets/index.html @@ -5,7 +5,7 @@ Secure GitHub Webhooks with Secrets | OpenPathfinder - + diff --git a/docs/checks/githubWriteAccessRoles/index.html b/docs/checks/githubWriteAccessRoles/index.html index e440e387..992399e7 100644 --- a/docs/checks/githubWriteAccessRoles/index.html +++ b/docs/checks/githubWriteAccessRoles/index.html @@ -5,7 +5,7 @@ Define Teams/Individuals with Write Access to Repositories | OpenPathfinder - + diff --git a/docs/checks/identifyModifiedDependencies/index.html b/docs/checks/identifyModifiedDependencies/index.html index 2e0cf875..83db5d1a 100644 --- a/docs/checks/identifyModifiedDependencies/index.html +++ b/docs/checks/identifyModifiedDependencies/index.html @@ -5,7 +5,7 @@ Uniquely Identify Modified Dependencies | OpenPathfinder - + diff --git a/docs/checks/incidentResponsePlan/index.html b/docs/checks/incidentResponsePlan/index.html index ce992065..4191fa75 100644 --- a/docs/checks/incidentResponsePlan/index.html +++ b/docs/checks/incidentResponsePlan/index.html @@ -5,7 +5,7 @@ Define Clear Communication and Incident Response Plans | OpenPathfinder - + diff --git a/docs/checks/includeCVEInReleaseNotes/index.html b/docs/checks/includeCVEInReleaseNotes/index.html index 6c4eb984..b5496dd7 100644 --- a/docs/checks/includeCVEInReleaseNotes/index.html +++ b/docs/checks/includeCVEInReleaseNotes/index.html @@ -5,7 +5,7 @@ Include CVE IDs in Release Notes for Security Fixes | OpenPathfinder - + diff --git a/docs/checks/includePackageLock/index.html b/docs/checks/includePackageLock/index.html index 3d78cd51..1f99a02d 100644 --- a/docs/checks/includePackageLock/index.html +++ b/docs/checks/includePackageLock/index.html @@ -5,7 +5,7 @@ Include package-lock.json in Releases (Freestanding Apps) | OpenPathfinder - + diff --git a/docs/checks/injectedSecretsAtRuntime/index.html b/docs/checks/injectedSecretsAtRuntime/index.html index 15c4fdb3..e50609c5 100644 --- a/docs/checks/injectedSecretsAtRuntime/index.html +++ b/docs/checks/injectedSecretsAtRuntime/index.html @@ -5,7 +5,7 @@ Ensure that the secrets are injected at runtime | OpenPathfinder - + diff --git a/docs/checks/limitOrgOwners/index.html b/docs/checks/limitOrgOwners/index.html index 90e4768f..bae32ebe 100644 --- a/docs/checks/limitOrgOwners/index.html +++ b/docs/checks/limitOrgOwners/index.html @@ -5,7 +5,7 @@ Limit GitHub Org Owners to Fewer Than Three | OpenPathfinder - + diff --git a/docs/checks/limitRepoAdmins/index.html b/docs/checks/limitRepoAdmins/index.html index 88b48db5..e391e1e2 100644 --- a/docs/checks/limitRepoAdmins/index.html +++ b/docs/checks/limitRepoAdmins/index.html @@ -5,7 +5,7 @@ Limit GitHub Repo Admins to Fewer Than Three | OpenPathfinder - + diff --git a/docs/checks/limitWorkflowWritePermissions/index.html b/docs/checks/limitWorkflowWritePermissions/index.html index 24c7246e..7169f177 100644 --- a/docs/checks/limitWorkflowWritePermissions/index.html +++ b/docs/checks/limitWorkflowWritePermissions/index.html @@ -5,7 +5,7 @@ Limit Workflow Write Permissions to Job-Level | OpenPathfinder - + diff --git a/docs/checks/machineReadableDependencies/index.html b/docs/checks/machineReadableDependencies/index.html index d1bd5080..4ee087e7 100644 --- a/docs/checks/machineReadableDependencies/index.html +++ b/docs/checks/machineReadableDependencies/index.html @@ -5,7 +5,7 @@ Provide Machine-Readable Dependency Lists | OpenPathfinder - + diff --git a/docs/checks/noArbitraryCodeInPipeline/index.html b/docs/checks/noArbitraryCodeInPipeline/index.html index fe2b1822..280e0e49 100644 --- a/docs/checks/noArbitraryCodeInPipeline/index.html +++ b/docs/checks/noArbitraryCodeInPipeline/index.html @@ -5,7 +5,7 @@ Restrict Build Pipeline Code Execution to Build Scripts | OpenPathfinder - + diff --git a/docs/checks/noForcePushDefaultBranch/index.html b/docs/checks/noForcePushDefaultBranch/index.html index 5beec14f..7916589b 100644 --- a/docs/checks/noForcePushDefaultBranch/index.html +++ b/docs/checks/noForcePushDefaultBranch/index.html @@ -5,7 +5,7 @@ Disable Force Push on Default Branch | OpenPathfinder - + diff --git a/docs/checks/noSelfHostedRunners/index.html b/docs/checks/noSelfHostedRunners/index.html index ae5e0e1e..be890193 100644 --- a/docs/checks/noSelfHostedRunners/index.html +++ b/docs/checks/noSelfHostedRunners/index.html @@ -5,7 +5,7 @@ Disable Self-Hosted Runners in GitHub Org | OpenPathfinder - + diff --git a/docs/checks/noSensitiveInfoInRepositories/index.html b/docs/checks/noSensitiveInfoInRepositories/index.html index 4b9cfd04..987a4d2e 100644 --- a/docs/checks/noSensitiveInfoInRepositories/index.html +++ b/docs/checks/noSensitiveInfoInRepositories/index.html @@ -5,7 +5,7 @@ Check sensitive information | OpenPathfinder - + diff --git a/docs/checks/npmOrgMFA/index.html b/docs/checks/npmOrgMFA/index.html index 06d5257b..c5883616 100644 --- a/docs/checks/npmOrgMFA/index.html +++ b/docs/checks/npmOrgMFA/index.html @@ -5,7 +5,7 @@ Enforce MFA in npm Organization(s) | OpenPathfinder - + diff --git a/docs/checks/npmPublicationMFA/index.html b/docs/checks/npmPublicationMFA/index.html index cce41f22..f1b2e9ff 100644 --- a/docs/checks/npmPublicationMFA/index.html +++ b/docs/checks/npmPublicationMFA/index.html @@ -5,7 +5,7 @@ Publish to npm Using MFA-Enabled Accounts | OpenPathfinder - + diff --git a/docs/checks/orgToolingMFA/index.html b/docs/checks/orgToolingMFA/index.html index a6a8a3fb..e163eebd 100644 --- a/docs/checks/orgToolingMFA/index.html +++ b/docs/checks/orgToolingMFA/index.html @@ -5,7 +5,7 @@ Enforce MFA in all the tools | OpenPathfinder - + diff --git a/docs/checks/owaspTop10Training/index.html b/docs/checks/owaspTop10Training/index.html index b188ba97..8ad6642c 100644 --- a/docs/checks/owaspTop10Training/index.html +++ b/docs/checks/owaspTop10Training/index.html @@ -5,7 +5,7 @@ Training on OWASP Top 10 or Equivalent | OpenPathfinder - + diff --git a/docs/checks/patchCriticalVulns30Days/index.html b/docs/checks/patchCriticalVulns30Days/index.html index 8d696b31..495917e2 100644 --- a/docs/checks/patchCriticalVulns30Days/index.html +++ b/docs/checks/patchCriticalVulns30Days/index.html @@ -5,7 +5,7 @@ Patch Actively Exploited Critical Vulnerabilities within 30 Days | OpenPathfinder - + diff --git a/docs/checks/patchExploitableHighVulns14Days/index.html b/docs/checks/patchExploitableHighVulns14Days/index.html index fbd15de1..09460701 100644 --- a/docs/checks/patchExploitableHighVulns14Days/index.html +++ b/docs/checks/patchExploitableHighVulns14Days/index.html @@ -5,7 +5,7 @@ Patch Critical/High Vulnerabilities in 14 Days | OpenPathfinder - + diff --git a/docs/checks/patchExploitableNoncCriticalVulns60Days/index.html b/docs/checks/patchExploitableNoncCriticalVulns60Days/index.html index 00b8d5ba..c28269eb 100644 --- a/docs/checks/patchExploitableNoncCriticalVulns60Days/index.html +++ b/docs/checks/patchExploitableNoncCriticalVulns60Days/index.html @@ -5,7 +5,7 @@ Patch Non-Critical Vulnerabilities in 60 Days | OpenPathfinder - + diff --git a/docs/checks/patchNonCriticalVulns90Days/index.html b/docs/checks/patchNonCriticalVulns90Days/index.html index 02c6d3a4..4b90a453 100644 --- a/docs/checks/patchNonCriticalVulns90Days/index.html +++ b/docs/checks/patchNonCriticalVulns90Days/index.html @@ -5,7 +5,7 @@ Patch Non-Critical Vulnerabilities within 90 Days | OpenPathfinder - + diff --git a/docs/checks/pinActionsToSHA/index.html b/docs/checks/pinActionsToSHA/index.html index 722af2af..65c8d53b 100644 --- a/docs/checks/pinActionsToSHA/index.html +++ b/docs/checks/pinActionsToSHA/index.html @@ -5,7 +5,7 @@ Pin Actions with Secrets to Full-Length Commit SHAs | OpenPathfinder - + diff --git a/docs/checks/preventBranchProtectionBypass/index.html b/docs/checks/preventBranchProtectionBypass/index.html index 13c315ba..d1f50d01 100644 --- a/docs/checks/preventBranchProtectionBypass/index.html +++ b/docs/checks/preventBranchProtectionBypass/index.html @@ -5,7 +5,7 @@ Prevent Admins from Bypassing Branch Protection | OpenPathfinder - + diff --git a/docs/checks/preventDeletionDefaultBranch/index.html b/docs/checks/preventDeletionDefaultBranch/index.html index 207c30a5..935d85bf 100644 --- a/docs/checks/preventDeletionDefaultBranch/index.html +++ b/docs/checks/preventDeletionDefaultBranch/index.html @@ -5,7 +5,7 @@ Prevent Deletion of Default Branch | OpenPathfinder - + diff --git a/docs/checks/preventLandingSensitiveCommits/index.html b/docs/checks/preventLandingSensitiveCommits/index.html index b63e7fd1..0dd25e30 100644 --- a/docs/checks/preventLandingSensitiveCommits/index.html +++ b/docs/checks/preventLandingSensitiveCommits/index.html @@ -5,7 +5,7 @@ Block New Commits with Secrets or Credentials | OpenPathfinder - + diff --git a/docs/checks/preventScriptInjection/index.html b/docs/checks/preventScriptInjection/index.html index f9130493..e3a4d06b 100644 --- a/docs/checks/preventScriptInjection/index.html +++ b/docs/checks/preventScriptInjection/index.html @@ -5,7 +5,7 @@ Avoid Script Injection from Untrusted Variables | OpenPathfinder - + diff --git a/docs/checks/regressionTestsForVulns/index.html b/docs/checks/regressionTestsForVulns/index.html index 14b9620e..1cbaa389 100644 --- a/docs/checks/regressionTestsForVulns/index.html +++ b/docs/checks/regressionTestsForVulns/index.html @@ -5,7 +5,7 @@ Create Regression Tests for Bugs and Security Vulnerabilities | OpenPathfinder - + diff --git a/docs/checks/requireCodeOwnersReviewForLargeTeams/index.html b/docs/checks/requireCodeOwnersReviewForLargeTeams/index.html index 52472958..71535daa 100644 --- a/docs/checks/requireCodeOwnersReviewForLargeTeams/index.html +++ b/docs/checks/requireCodeOwnersReviewForLargeTeams/index.html @@ -5,7 +5,7 @@ Require Code Owners Review (Four+ Maintainers) | OpenPathfinder - + diff --git a/docs/checks/requirePRApprovalForMainline/index.html b/docs/checks/requirePRApprovalForMainline/index.html index 3e5cb1fc..4bae2601 100644 --- a/docs/checks/requirePRApprovalForMainline/index.html +++ b/docs/checks/requirePRApprovalForMainline/index.html @@ -5,7 +5,7 @@ Require Approved PRs for Mainline Commits (Two+ Maintainers) | OpenPathfinder - + diff --git a/docs/checks/requireSignedCommits/index.html b/docs/checks/requireSignedCommits/index.html index 833c64ec..fa6fb607 100644 --- a/docs/checks/requireSignedCommits/index.html +++ b/docs/checks/requireSignedCommits/index.html @@ -5,7 +5,7 @@ Require Signed Commits | OpenPathfinder - + diff --git a/docs/checks/requireTwoPartyReview/index.html b/docs/checks/requireTwoPartyReview/index.html index 6cf32eb6..940ea4ef 100644 --- a/docs/checks/requireTwoPartyReview/index.html +++ b/docs/checks/requireTwoPartyReview/index.html @@ -5,7 +5,7 @@ Require Two-Party Review (Two+ Maintainers) | OpenPathfinder - + diff --git a/docs/checks/resolveLinterWarnings/index.html b/docs/checks/resolveLinterWarnings/index.html index 3023401e..a7c5f52c 100644 --- a/docs/checks/resolveLinterWarnings/index.html +++ b/docs/checks/resolveLinterWarnings/index.html @@ -5,7 +5,7 @@ Address Compiler/Linter Warnings Before Merging | OpenPathfinder - + diff --git a/docs/checks/restrictOrgSecrets/index.html b/docs/checks/restrictOrgSecrets/index.html index 507e9121..cc4911ec 100644 --- a/docs/checks/restrictOrgSecrets/index.html +++ b/docs/checks/restrictOrgSecrets/index.html @@ -5,7 +5,7 @@ Restrict GitHub Org Secrets to Specific Repositories | OpenPathfinder - + diff --git a/docs/checks/restrictedOrgPermissions/index.html b/docs/checks/restrictedOrgPermissions/index.html index 5f3bee01..68eaca79 100644 --- a/docs/checks/restrictedOrgPermissions/index.html +++ b/docs/checks/restrictedOrgPermissions/index.html @@ -5,7 +5,7 @@ Restrict Default GitHub Org Member Permissions | OpenPathfinder - + diff --git a/docs/checks/runnerSecurityScanner/index.html b/docs/checks/runnerSecurityScanner/index.html index c198f822..ec8a9a23 100644 --- a/docs/checks/runnerSecurityScanner/index.html +++ b/docs/checks/runnerSecurityScanner/index.html @@ -5,7 +5,7 @@ Use GitHub Runner Security Scanners | OpenPathfinder - + diff --git a/docs/checks/scanCommitsForSensitiveInfo/index.html b/docs/checks/scanCommitsForSensitiveInfo/index.html index 255efd32..6888bb01 100644 --- a/docs/checks/scanCommitsForSensitiveInfo/index.html +++ b/docs/checks/scanCommitsForSensitiveInfo/index.html @@ -5,7 +5,7 @@ Ensure that all the commits are scanned | OpenPathfinder - + diff --git a/docs/checks/securityMdMeetsOpenJSCVD/index.html b/docs/checks/securityMdMeetsOpenJSCVD/index.html index 60b2724c..82846c88 100644 --- a/docs/checks/securityMdMeetsOpenJSCVD/index.html +++ b/docs/checks/securityMdMeetsOpenJSCVD/index.html @@ -5,7 +5,7 @@ Ensure Security.md Meets OpenJS CVD Guidelines | OpenPathfinder - + diff --git a/docs/checks/softwareArchitectureDocs/index.html b/docs/checks/softwareArchitectureDocs/index.html index abacce0e..84e0d9e3 100644 --- a/docs/checks/softwareArchitectureDocs/index.html +++ b/docs/checks/softwareArchitectureDocs/index.html @@ -5,7 +5,7 @@ Document Software Architecture | OpenPathfinder - + diff --git a/docs/checks/softwareDesignTraining/index.html b/docs/checks/softwareDesignTraining/index.html index d1420764..0bc02460 100644 --- a/docs/checks/softwareDesignTraining/index.html +++ b/docs/checks/softwareDesignTraining/index.html @@ -5,7 +5,7 @@ Training on Secure Software Design | OpenPathfinder - + diff --git a/docs/checks/staticAppSecTesting/index.html b/docs/checks/staticAppSecTesting/index.html index 6d13c21c..4be9244f 100644 --- a/docs/checks/staticAppSecTesting/index.html +++ b/docs/checks/staticAppSecTesting/index.html @@ -5,7 +5,7 @@ Use Static Application Security Testing for All Commits | OpenPathfinder - + diff --git a/docs/checks/staticCodeAnalysis/index.html b/docs/checks/staticCodeAnalysis/index.html index 1426ca27..21cf83cd 100644 --- a/docs/checks/staticCodeAnalysis/index.html +++ b/docs/checks/staticCodeAnalysis/index.html @@ -5,7 +5,7 @@ Use Automated Static Code Analysis Tools | OpenPathfinder - + diff --git a/docs/checks/twoOrMoreOwnersForAccess/index.html b/docs/checks/twoOrMoreOwnersForAccess/index.html index 6fe5608d..b0c2165a 100644 --- a/docs/checks/twoOrMoreOwnersForAccess/index.html +++ b/docs/checks/twoOrMoreOwnersForAccess/index.html @@ -5,7 +5,7 @@ Configure Two or more Owners for Access Continuity | OpenPathfinder - + diff --git a/docs/checks/upToDateDefaultBranchBeforeMerge/index.html b/docs/checks/upToDateDefaultBranchBeforeMerge/index.html index 21281faa..371c4332 100644 --- a/docs/checks/upToDateDefaultBranchBeforeMerge/index.html +++ b/docs/checks/upToDateDefaultBranchBeforeMerge/index.html @@ -5,7 +5,7 @@ Require Default Branch Updates Before Merging | OpenPathfinder - + diff --git a/docs/checks/upgradePathDocs/index.html b/docs/checks/upgradePathDocs/index.html index 48b6b042..459ba471 100644 --- a/docs/checks/upgradePathDocs/index.html +++ b/docs/checks/upgradePathDocs/index.html @@ -5,7 +5,7 @@ Support Older Versions or Provide Upgrade Paths | OpenPathfinder - + diff --git a/docs/checks/useCVDToolForVulns/index.html b/docs/checks/useCVDToolForVulns/index.html index 851be138..76236511 100644 --- a/docs/checks/useCVDToolForVulns/index.html +++ b/docs/checks/useCVDToolForVulns/index.html @@ -5,7 +5,7 @@ Use CVD Tools to Manage Vulnerability Reports | OpenPathfinder - + diff --git a/docs/checks/useHwKeyGithubAccess/index.html b/docs/checks/useHwKeyGithubAccess/index.html index 2d41f383..983fdf64 100644 --- a/docs/checks/useHwKeyGithubAccess/index.html +++ b/docs/checks/useHwKeyGithubAccess/index.html @@ -5,7 +5,7 @@ Use AAL2/3 Passkeys for GitHub Access | OpenPathfinder - + diff --git a/docs/checks/useHwKeyGithubNonInteractive/index.html b/docs/checks/useHwKeyGithubNonInteractive/index.html index d08249c9..53c89ee2 100644 --- a/docs/checks/useHwKeyGithubNonInteractive/index.html +++ b/docs/checks/useHwKeyGithubNonInteractive/index.html @@ -5,7 +5,7 @@ Use AAL2/3 Passkeys for Non-Interactive GitHub Access | OpenPathfinder - + diff --git a/docs/checks/useHwKeyOtherContexts/index.html b/docs/checks/useHwKeyOtherContexts/index.html index c721b1ee..bc773de8 100644 --- a/docs/checks/useHwKeyOtherContexts/index.html +++ b/docs/checks/useHwKeyOtherContexts/index.html @@ -5,7 +5,7 @@ Use AAL2/3 Passkeys in All Other Contexts | OpenPathfinder - + diff --git a/docs/checks/verifiedActionsOnly/index.html b/docs/checks/verifiedActionsOnly/index.html index 96650b57..a9dac5c0 100644 --- a/docs/checks/verifiedActionsOnly/index.html +++ b/docs/checks/verifiedActionsOnly/index.html @@ -5,7 +5,7 @@ Limit GitHub Actions to Verified or Trusted Actions | OpenPathfinder - + diff --git a/docs/checks/vulnResponse14Days/index.html b/docs/checks/vulnResponse14Days/index.html index e380dbf6..f0c1cc9a 100644 --- a/docs/checks/vulnResponse14Days/index.html +++ b/docs/checks/vulnResponse14Days/index.html @@ -5,7 +5,7 @@ Respond to External Vulnerability Reports in Under 14 Days | OpenPathfinder - + diff --git a/docs/checks/workflowSecurityScanner/index.html b/docs/checks/workflowSecurityScanner/index.html index 847f36bc..e4e373e0 100644 --- a/docs/checks/workflowSecurityScanner/index.html +++ b/docs/checks/workflowSecurityScanner/index.html @@ -5,7 +5,7 @@ Use Workflow Security Scanners | OpenPathfinder - + diff --git a/docs/fortSphere/index.html b/docs/fortSphere/index.html index 2500ec4d..85064fe6 100644 --- a/docs/fortSphere/index.html +++ b/docs/fortSphere/index.html @@ -5,7 +5,7 @@ About | OpenPathfinder - + diff --git a/docs/fortSphere/installation/index.html b/docs/fortSphere/installation/index.html index 78b266df..dcdf0cca 100644 --- a/docs/fortSphere/installation/index.html +++ b/docs/fortSphere/installation/index.html @@ -5,7 +5,7 @@ Installation | OpenPathfinder - + diff --git a/docs/fortSphere/policies/index.html b/docs/fortSphere/policies/index.html index 1f369e85..01fc1e9d 100644 --- a/docs/fortSphere/policies/index.html +++ b/docs/fortSphere/policies/index.html @@ -5,7 +5,7 @@ Policies | OpenPathfinder - + diff --git a/docs/fortSphere/usage/index.html b/docs/fortSphere/usage/index.html index 5774c247..51807efd 100644 --- a/docs/fortSphere/usage/index.html +++ b/docs/fortSphere/usage/index.html @@ -5,7 +5,7 @@ Usage | OpenPathfinder - + diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index d47a545d..7f226fac 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -5,7 +5,7 @@ Getting Started | OpenPathfinder - + diff --git a/docs/history/index.html b/docs/history/index.html index 5ee94d79..ed337b52 100644 --- a/docs/history/index.html +++ b/docs/history/index.html @@ -5,7 +5,7 @@ History | OpenPathfinder - + diff --git a/docs/policies/restrictRepoCreationGitHub/index.html b/docs/policies/restrictRepoCreationGitHub/index.html index 1a801997..9c9c0114 100644 --- a/docs/policies/restrictRepoCreationGitHub/index.html +++ b/docs/policies/restrictRepoCreationGitHub/index.html @@ -5,7 +5,7 @@ Restrict Repository Creation | OpenPathfinder - + diff --git a/docs/visionBoard/Checks/index.html b/docs/visionBoard/Checks/index.html index ea8a56e7..743ee8f3 100644 --- a/docs/visionBoard/Checks/index.html +++ b/docs/visionBoard/Checks/index.html @@ -5,7 +5,7 @@ Checks | OpenPathfinder - + diff --git a/docs/visionBoard/architecture/index.html b/docs/visionBoard/architecture/index.html index dbce71cf..d8242bf0 100644 --- a/docs/visionBoard/architecture/index.html +++ b/docs/visionBoard/architecture/index.html @@ -5,7 +5,7 @@ Architecture | OpenPathfinder - + diff --git a/docs/visionBoard/checklists/index.html b/docs/visionBoard/checklists/index.html index 0eb9931f..e86ba597 100644 --- a/docs/visionBoard/checklists/index.html +++ b/docs/visionBoard/checklists/index.html @@ -5,7 +5,7 @@ Checklists | OpenPathfinder - + diff --git a/docs/visionBoard/configuration/index.html b/docs/visionBoard/configuration/index.html index add1cd13..99072c1a 100644 --- a/docs/visionBoard/configuration/index.html +++ b/docs/visionBoard/configuration/index.html @@ -5,7 +5,7 @@ Configuration | OpenPathfinder - + diff --git a/docs/visionBoard/database-management/index.html b/docs/visionBoard/database-management/index.html index d6d206c7..a1e6bf34 100644 --- a/docs/visionBoard/database-management/index.html +++ b/docs/visionBoard/database-management/index.html @@ -5,7 +5,7 @@ Database Management | OpenPathfinder - + diff --git a/docs/visionBoard/index.html b/docs/visionBoard/index.html index 87424459..52362471 100644 --- a/docs/visionBoard/index.html +++ b/docs/visionBoard/index.html @@ -5,7 +5,7 @@ About | OpenPathfinder - + diff --git a/docs/visionBoard/installation/index.html b/docs/visionBoard/installation/index.html index 9908bcf7..a1a62a4b 100644 --- a/docs/visionBoard/installation/index.html +++ b/docs/visionBoard/installation/index.html @@ -5,7 +5,7 @@ Installation | OpenPathfinder - + diff --git a/docs/visionBoard/providers/index.html b/docs/visionBoard/providers/index.html index 3d5040f2..bb17c62b 100644 --- a/docs/visionBoard/providers/index.html +++ b/docs/visionBoard/providers/index.html @@ -5,7 +5,7 @@ Providers | OpenPathfinder - + diff --git a/docs/visionBoard/report-management/index.html b/docs/visionBoard/report-management/index.html index 7ee334d3..c2935b18 100644 --- a/docs/visionBoard/report-management/index.html +++ b/docs/visionBoard/report-management/index.html @@ -5,7 +5,7 @@ Report Management | OpenPathfinder - + diff --git a/docs/visionBoard/usage/index.html b/docs/visionBoard/usage/index.html index ecf1a218..8ff4bdcc 100644 --- a/docs/visionBoard/usage/index.html +++ b/docs/visionBoard/usage/index.html @@ -5,7 +5,7 @@ Usage | OpenPathfinder - + diff --git a/index.html b/index.html index 7d9737c6..4b7a2e85 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ OpenPathfinder | OpenPathfinder - + diff --git a/security/index.html b/security/index.html index fb05b867..6795de34 100644 --- a/security/index.html +++ b/security/index.html @@ -5,7 +5,7 @@ Security Policy | OpenPathfinder - + diff --git a/support/index.html b/support/index.html index e0c17249..cae6a079 100644 --- a/support/index.html +++ b/support/index.html @@ -5,7 +5,7 @@ Support | OpenPathfinder - +