├── .editorconfig ├── .eslintrc.js ├── .github └── workflows │ ├── ci.yml │ └── codeql-analysis.yml ├── .gitignore ├── .husky ├── .gitignore ├── common.sh └── pre-commit ├── .nvmrc ├── .prettierrc ├── .stylelintignore ├── CMSGUIDELINES.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTORS.md ├── COPYRIGHT.txt ├── LICENSE ├── README.md ├── assets ├── css │ ├── _mixins.scss │ ├── base.scss │ ├── generic │ │ ├── _gen-animations.scss │ │ ├── _gen-buttons.scss │ │ ├── _gen-colors.scss │ │ ├── _gen-fonts.scss │ │ ├── _gen-forms.scss │ │ ├── _gen-modals.scss │ │ └── _gen-type.scss │ ├── helpers │ │ ├── _helper-colors.scss │ │ ├── _helper-grid.scss │ │ ├── _helper-transitions.scss │ │ └── _helpers.scss │ ├── modules.scss │ ├── settings │ │ ├── _set-breakpoints.scss │ │ ├── _set-colors.scss │ │ ├── _set-font-weights.scss │ │ ├── _set-fonts-size.scss │ │ ├── _set-fonts.scss │ │ ├── _set-sizes.scss │ │ ├── _set-timing.scss │ │ └── _settings.scss │ ├── tailwind.css │ └── utilities │ │ ├── _utilities.scss │ │ ├── _utl-breakpoints.scss │ │ ├── _utl-buttons.scss │ │ ├── _utl-images.scss │ │ ├── _utl-spacing.scss │ │ └── _utl-typography.scss ├── fonts │ ├── GT-Maru-Medium-Oblique.otf │ ├── GT-Maru-Medium-Oblique.ttf │ ├── GT-Maru-Medium-Oblique.woff │ ├── GT-Maru-Medium-Oblique.woff2 │ ├── GT-Maru-Medium.otf │ ├── GT-Maru-Medium.ttf │ ├── GT-Maru-Medium.woff │ └── GT-Maru-Medium.woff2 └── icons │ ├── Monitor.svg │ ├── ProblemWithOpenSource.svg │ ├── SignCode.svg │ ├── SimpleSystemArchitecture.svg │ ├── Verify.svg │ ├── arrow-right.svg │ ├── chevron_down.svg │ ├── community.svg │ ├── github-white.svg │ ├── github.svg │ ├── img │ ├── alt_landscapelayout_developers.svg │ ├── alt_landscapelayout_overview.svg │ ├── community.svg │ ├── github-white.svg │ ├── github.svg │ ├── howtouseit_monitor.svg │ ├── howtouseit_signcode.svg │ ├── howtouseit_verify.svg │ ├── keys.svg │ ├── ledger.svg │ ├── mail_24px.svg │ ├── monitor.svg │ ├── pressandevents.svg │ ├── problemwithopensource.svg │ ├── problemwithopensource_update.svg │ ├── signcode.svg │ ├── simplesystemarchitecture.svg │ ├── slack.svg │ ├── stories.svg │ ├── system_architecture_developers.svg │ ├── system_architecture_maintainers.svg │ ├── system_architecture_overview.svg │ ├── system_architecture_summary-01.svg │ └── verify.svg │ ├── keys.svg │ ├── ledger.svg │ ├── link.svg │ ├── logo-white.svg │ ├── logo.svg │ ├── logoLong.svg │ ├── menu-button-close.svg │ ├── menu-button.svg │ ├── slack.svg │ └── twitter.svg ├── components ├── Card.vue ├── FullWidthTextBanner.vue ├── NuxtLogo.vue ├── OnScreen.vue ├── Slider.vue ├── TextTickerBanner.vue ├── carousel.vue ├── faqSection.vue ├── newsEvents.vue ├── sigstoreDivider.vue ├── sigstoreEcosystem.vue ├── softwareBehind.vue ├── solidCtaBlue.vue ├── solidCtaPurple.vue ├── sponsorsList.vue ├── storySoFar.vue ├── textBanner.vue ├── textBannerWithcards.vue ├── threeColumnTextGrid.vue ├── transparentCta.vue ├── twoColumnAnnouncement.vue ├── twoColumnBanner.vue ├── twoColumnBannerWithCard.vue └── twoColumnTextGrid.vue ├── content ├── caseStudies │ ├── bleeping-computer.md │ ├── google.md │ ├── kpack.md │ ├── npm.md │ ├── red-hat.md │ ├── stacklok.md │ └── wired.md ├── category │ ├── bleeping-computer.json │ ├── github.json │ ├── google.json │ ├── kpack.json │ ├── red-hat.json │ ├── stacklok.json │ └── wired.json ├── community.md ├── ctas │ ├── find-out-more.json │ ├── if-youre-interested-lets-talk.json │ ├── learn-more.json │ └── view-the-project.json ├── docs │ ├── about.md │ ├── docs │ │ ├── api_example.md │ │ └── plugable_types.md │ ├── faq.md │ ├── get_started │ │ ├── client.md │ │ └── server.md │ ├── images │ │ ├── arch.png │ │ ├── lf_logo.svg │ │ ├── merkle.png │ │ ├── ssc.png │ │ └── tree.png │ ├── rekor_directory.md │ └── what_is_sigstore.md ├── events │ ├── cosign-1-0-launch.md │ ├── cosign-2-0-launch.md │ ├── github.md │ ├── jpmorgan-sigstore.md │ ├── openssf-sigstore-blog.md │ ├── ossf.md │ ├── rekor-1m.md │ ├── sigstore-con-24.md │ ├── sigstore-featured-in-wired.md │ ├── sigstore-llvm.md │ ├── sigstore-npm-beta.md │ ├── sigstore-python-1-0.md │ ├── sigstore-root-key-ceremony.md │ ├── supplychainsecuritycon-na-sign-up.md │ ├── white-house.md │ └── windriver-sigstore.md ├── faq │ └── faqs.json ├── footer │ └── footer.json ├── groups │ └── groups.json ├── header │ └── header.json ├── home.md ├── how-it-works.md ├── setup │ ├── connect.json │ └── info.json ├── software │ └── software_list.json ├── story │ ├── dates.json │ └── info.json ├── testimonials │ └── brand-testimonial.md └── trust-security.md ├── jsconfig.json ├── layouts └── default.vue ├── modules ├── Footer │ ├── Footer.js │ ├── Footer.scss │ └── Footer.vue ├── Header │ ├── Header.js │ ├── Header.scss │ └── Header.vue ├── MobileNavigation │ ├── MobileNavigation.js │ ├── MobileNavigation.scss │ └── MobileNavigation.vue └── Navigation │ ├── Navigation.js │ ├── Navigation.scss │ └── Navigation.vue ├── nuxt.config.js ├── package.json ├── pages ├── _slug.vue └── docs │ ├── _slug.vue │ └── index.vue ├── plugins └── components.client.js ├── static ├── .well-known │ └── microsoft-identity-association.json ├── _redirects ├── admin │ ├── config.yml │ └── index.html ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── browserconfig.xml ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── icon.png ├── img │ ├── SigstoreCon2024Banner.svg │ ├── alt_landscapelayout_developers.svg │ ├── alt_landscapelayout_overview.svg │ ├── bleepingcomputer.png │ ├── chainguard.svg │ ├── cisco.png │ ├── community.svg │ ├── github-icon.png │ ├── github-logo.svg │ ├── github-white.svg │ ├── github.svg │ ├── google.png │ ├── googlelogo.png │ ├── howtouseit_monitor.svg │ ├── howtouseit_signcode.svg │ ├── howtouseit_verify.svg │ ├── hpe.png │ ├── icon.png │ ├── keys.svg │ ├── kpack.png │ ├── ledger.svg │ ├── linuxfoundationlogo.png │ ├── mail_24px.svg │ ├── monitor.svg │ ├── openssf-horizontal-color.svg │ ├── phone_illustration_new.png │ ├── png_trial.png │ ├── pressandevents.svg │ ├── problemwithopensource.svg │ ├── problemwithopensource_update.svg │ ├── purdueunilogo.png │ ├── redhat.png │ ├── redhatlogo.png │ ├── screenshot-2021-08-17-at-12.43.02.png │ ├── screenshot-2021-08-17-at-12.43.38.png │ ├── screenshots │ │ ├── Screenshot 2021-08-17 at 12.44.05.png │ │ ├── Screenshot 2021-08-17 at 12.44.20.png │ │ ├── Screenshot 2021-08-17 at 12.47.04.png │ │ ├── Screenshot 2021-08-17 at 12.48.16.png │ │ ├── Screenshot 2021-08-17 at 12.49.12.png │ │ ├── Screenshot 2021-08-17 at 12.49.40.png │ │ ├── Screenshot 2021-08-17 at 12.50.15.png │ │ ├── Screenshot-2021-08-17-at-12.43.02.png │ │ ├── Screenshot-2021-08-17-at-12.43.38.png │ │ ├── Screenshot-2021-08-17-at-12.44.31.png │ │ ├── Screenshot-2021-08-17-at-12.44.44.png │ │ ├── Screenshot-2021-08-17-at-12.45.43.png │ │ ├── Screenshot-2021-08-17-at-12.46.06.png │ │ ├── Screenshot-2021-08-17-at-12.46.21.png │ │ ├── Screenshot-2021-08-17-at-12.46.32.png │ │ ├── Screenshot-2021-08-17-at-12.47.20.png │ │ ├── Screenshot-2021-08-17-at-12.47.32.png │ │ ├── Screenshot-2021-08-17-at-12.47.56.png │ │ ├── Screenshot-2021-08-17-at-12.48.58.png │ │ ├── Screenshot-2021-08-17-at-12.50.04.png │ │ ├── Screenshot-2021-08-17-at-12.55.18.png │ │ ├── case-studies.png │ │ ├── news.png │ │ └── plans.png │ ├── signcode.svg │ ├── sigstore_logo.png │ ├── sigstorecon2024.svg │ ├── simplesystemarchitecture.svg │ ├── slack.svg │ ├── stacklok-icon.png │ ├── stacklok.png │ ├── stories.svg │ ├── system_architecture_developers.svg │ ├── system_architecture_maintainers.svg │ ├── system_architecture_overview.svg │ ├── system_architecture_summary-01.svg │ ├── verify.svg │ ├── vmware.png │ ├── vuepresslogo.png │ └── wired.png ├── mstile-150x150.png ├── safari-pinned-tab.svg ├── site.webmanifest └── swagger │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── index.css │ ├── index.html │ ├── oauth2-redirect.html │ ├── swagger-initializer.js │ ├── swagger-ui-bundle.js │ ├── swagger-ui-bundle.js.map │ ├── swagger-ui-es-bundle-core.js │ ├── swagger-ui-es-bundle-core.js.map │ ├── swagger-ui-es-bundle.js │ ├── swagger-ui-es-bundle.js.map │ ├── swagger-ui-standalone-preset.js │ ├── swagger-ui-standalone-preset.js.map │ ├── swagger-ui.css │ ├── swagger-ui.css.map │ ├── swagger-ui.js │ └── swagger-ui.js.map ├── store ├── README.md ├── getters.js ├── index.js ├── mutation-types.js ├── settings.js └── state.js ├── stylelintconfig.js ├── tailwind.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | node: true 6 | }, 7 | parserOptions: { 8 | parser: '@babel/eslint-parser', 9 | requireConfigFile: false 10 | }, 11 | extends: [ 12 | '@nuxtjs', 13 | 'plugin:nuxt/recommended', 14 | 'prettier' 15 | ], 16 | plugins: [ 17 | ], 18 | // add your custom rules here 19 | rules: { 20 | 'camelcase': 0, 21 | 'dot-notation': 0, 22 | 'snakecase': 0 23 | }, 24 | "ignorePatterns": [ 25 | "/static/swagger/*.js" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | - master 8 | pull_request: 9 | branches: 10 | - main 11 | - master 12 | 13 | jobs: 14 | ci: 15 | runs-on: ${{ matrix.os }} 16 | 17 | strategy: 18 | matrix: 19 | os: [ubuntu-latest] 20 | node: [14] 21 | 22 | steps: 23 | - name: Checkout 🛎 24 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 25 | 26 | - name: Setup node env 🏗 27 | uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 28 | with: 29 | node-version: ${{ matrix.node }} 30 | check-latest: true 31 | 32 | - name: Get yarn cache directory path 🛠 33 | id: yarn-cache-dir-path 34 | run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT 35 | 36 | - name: Cache node_modules 📦 37 | uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 38 | id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) 39 | with: 40 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 41 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 42 | restore-keys: | 43 | ${{ runner.os }}-yarn- 44 | 45 | - name: Install dependencies 👨🏻‍💻 46 | run: yarn 47 | 48 | - name: Run linter 👀 49 | run: yarn lint 50 | 51 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ main ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ main ] 20 | schedule: 21 | - cron: '25 0 * * 2' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: ['javascript'] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 37 | # Learn more: 38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@27ea8f8fe5977c00f5b37e076ab846c5bd783b96 # v2.1.12 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@27ea8f8fe5977c00f5b37e076ab846c5bd783b96 # v2.1.12 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@27ea8f8fe5977c00f5b37e076ab846c5bd783b96 # v2.1.12 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | /logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE / Editor 81 | .idea 82 | 83 | # Service worker 84 | sw.* 85 | 86 | # macOS 87 | .DS_Store 88 | 89 | # Vim swap files 90 | *.swp 91 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/common.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/.husky/common.sh -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | . "$(dirname "$0")/common.sh" 4 | 5 | yarn lint-staged 6 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v16.16.0 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /.stylelintignore: -------------------------------------------------------------------------------- 1 | assets/css/base.scss 2 | assets/css/**/*.scss -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | @sigstore/codeowners-sigstore-website 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at . All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ -------------------------------------------------------------------------------- /COPYRIGHT.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright 2021 The Sigstore Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | -------------------------------------------------------------------------------- /assets/css/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixin helper 2 | 3 | // ============================================================================= 4 | // String Replace 5 | // ============================================================================= 6 | 7 | @function str-replace($string, $search, $replace: "") { 8 | $index: str-index($string, $search); 9 | 10 | @if $index { 11 | @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); 12 | } 13 | 14 | @return $string; 15 | } 16 | 17 | // ============================================================================= 18 | // Font Face 19 | // ============================================================================= 20 | 21 | @mixin font-face($name, $path, $weight: null, $style: null, $exts: eot woff2 woff ttf svg) { 22 | $src: null; 23 | 24 | $extmods: ( 25 | eot: "?", 26 | svg: "#" + str-replace($name, " ", "_") 27 | ); 28 | 29 | $formats: ( 30 | otf: "opentype", 31 | ttf: "truetype" 32 | ); 33 | 34 | @each $ext in $exts { 35 | $extmod: if(map-has-key($extmods, $ext), $ext + map-get($extmods, $ext), $ext); 36 | $format: if(map-has-key($formats, $ext), map-get($formats, $ext), $ext); 37 | $src: append($src, url(quote($path + "." + $extmod)) format(quote($format)), comma); 38 | } 39 | 40 | @font-face { 41 | font-family: quote($name); 42 | font-style: $style; 43 | font-weight: $weight; 44 | src: $src; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /assets/css/generic/_gen-buttons.scss: -------------------------------------------------------------------------------- 1 | .button { 2 | @extend %button; 3 | 4 | &--transparent-border{ 5 | border:solid 2px black; 6 | @apply rounded-full; 7 | @apply bg-white; 8 | } 9 | } 10 | 11 | .markdown-text{ 12 | p a{ 13 | // apply text-16; 14 | // apply leading-22; 15 | // apply text-gray-medium; 16 | font-weight: 500; 17 | // apply flex items-center justify-start; 18 | padding-right: 40px; 19 | position: relative; 20 | transition: all 0.4s ease-in-out; 21 | animation-delay: 0.1s; 22 | transform: translateX(0px); 23 | } 24 | } 25 | 26 | .cta{ 27 | &_transparent { 28 | background-color: white; 29 | color: black; 30 | padding: 2rem; 31 | } 32 | } 33 | 34 | .inline--button{ 35 | &-grey { 36 | @apply text-gray-dark; 37 | transition: all 0.2s ease-in-out; 38 | animation-delay: 0.1s; 39 | & svg { 40 | transition: all 0.2s ease-in-out; 41 | animation-delay: 0.1s; 42 | transform: translateX(0px); 43 | } 44 | &:hover { 45 | color: $c-purple; 46 | & svg { 47 | transform: translateX(5px); 48 | transition: all 0.2s ease-in-out; 49 | animation-delay: 0.1s; 50 | path { 51 | stroke: $c-purple; 52 | } 53 | } 54 | } 55 | } 56 | 57 | &-white { 58 | color: white; 59 | transition: all 0.2s ease-in-out; 60 | animation-delay: 0.1s; 61 | & svg { 62 | transition: all 0.2s ease-in-out; 63 | animation-delay: 0.1s; 64 | transform: translateX(0px); 65 | } 66 | &:hover { 67 | color: $c-purple; 68 | & svg { 69 | transform: translateX(5px); 70 | transition: all 0.2s ease-in-out; 71 | animation-delay: 0.1s; 72 | path { 73 | stroke: $c-purple; 74 | } 75 | } 76 | } 77 | } 78 | } -------------------------------------------------------------------------------- /assets/css/generic/_gen-colors.scss: -------------------------------------------------------------------------------- 1 | // CSS Vars setup 2 | :root { 3 | @each $name, $color in $colors { 4 | #{$color-prefix}#{$name}: $color; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /assets/css/generic/_gen-fonts.scss: -------------------------------------------------------------------------------- 1 | 2 | .f-sans { 3 | font-family: $font-sans; 4 | } 5 | 6 | .f-header, .f-header p { 7 | font-family: $font-sans-header-standard; 8 | } 9 | 10 | .f-sans-light { 11 | font-family: $font-sans-light; 12 | } 13 | 14 | .f-sans-x-light { 15 | font-family: $font-sans-x-light; 16 | } 17 | 18 | .f-sans-xx-light { 19 | font-family: $font-sans-xx-light; 20 | } 21 | 22 | .f-sans-serif-light { 23 | font-family: $font-serif; 24 | } 25 | -------------------------------------------------------------------------------- /assets/css/generic/_gen-modals.scss: -------------------------------------------------------------------------------- 1 | .modal-card { 2 | align-items: center; 3 | backdrop-filter: blur(3px) brightness(0.6); 4 | bottom: 0; 5 | display: flex; 6 | height: 100vh; 7 | justify-content: center; 8 | left: 0; 9 | position: fixed; 10 | right: 0; 11 | top: 0; 12 | width: 100vw; 13 | z-index: 999; 14 | 15 | &__container { 16 | align-items: center; 17 | display: flex; 18 | height: 400px; 19 | justify-content: center; 20 | width: 330px; 21 | 22 | @include media-breakpoint-up(md) { 23 | height: auto; 24 | max-height: 30vh; 25 | width: 400px; 26 | } 27 | } 28 | 29 | &__content { 30 | background: $c-white; 31 | border-radius: 20px; 32 | height: 100%; 33 | overflow: auto; 34 | padding: 4rem 3rem 2rem; 35 | position: relative; 36 | text-align: left; 37 | width: 100%; 38 | } 39 | 40 | &__close { 41 | position: absolute; 42 | right: 1.2rem; 43 | top: 1.2rem; 44 | 45 | svg { 46 | circle { 47 | fill: $c-white; 48 | stroke: $c-white; 49 | } 50 | 51 | path { 52 | stroke: $c-blue; 53 | } 54 | } 55 | } 56 | } 57 | 58 | .drawer { 59 | backdrop-filter: blur(3px) brightness(0.6); 60 | bottom: 0; 61 | display: flex; 62 | height: 100vh; 63 | justify-content: flex-end; 64 | left: 0; 65 | position: fixed; 66 | right: 0; 67 | top: 0; 68 | width: 100vw; 69 | z-index: 999; 70 | 71 | &__container { 72 | align-items: center; 73 | display: flex; 74 | height: 100vh; 75 | justify-content: center; 76 | width: 330px; 77 | background: white; 78 | overflow-y: auto; 79 | 80 | @include media-breakpoint-up(md) { 81 | height: 100vh; 82 | max-height: 100vh; 83 | width: 400px; 84 | } 85 | } 86 | 87 | &__content { 88 | background: $c-white; 89 | border-radius: 20px; 90 | height: 100%; 91 | overflow: auto; 92 | padding: 4rem 3rem 2rem; 93 | position: relative; 94 | text-align: left; 95 | width: 100%; 96 | } 97 | 98 | &__close { 99 | position: absolute; 100 | right: 1.2rem; 101 | top: 1.2rem; 102 | 103 | svg { 104 | circle { 105 | fill: $c-white; 106 | stroke: $c-white; 107 | } 108 | 109 | path { 110 | stroke: $c-blue; 111 | } 112 | } 113 | } 114 | } 115 | 116 | // geberally a popover/tooltip 117 | 118 | .vc-popover-content-wrapper { 119 | background: white; 120 | } 121 | 122 | .vc-container .vc-time-picker .vc-date { 123 | display: none; 124 | } 125 | -------------------------------------------------------------------------------- /assets/css/helpers/_helper-colors.scss: -------------------------------------------------------------------------------- 1 | .color, 2 | %color { 3 | &--black { 4 | color: color('black'); 5 | } 6 | 7 | &--white { 8 | color: color('white'); 9 | } 10 | 11 | &--dark-blue { 12 | color: color('dark-blue'); 13 | } 14 | 15 | &--blue { 16 | color: color('blue'); 17 | } 18 | 19 | &--purple { 20 | color: color('purple'); 21 | } 22 | 23 | &--yellow { 24 | color: color('yellow'); 25 | } 26 | 27 | &--egg-white { 28 | color: color('egg-white'); 29 | } 30 | 31 | &--red { 32 | color: color('red'); 33 | } 34 | 35 | &--green { 36 | color: color('green'); 37 | } 38 | } 39 | 40 | .bg, 41 | %bg { 42 | &--black { 43 | background-color: color(primary); 44 | } 45 | 46 | &--white { 47 | background-color: color('white'); 48 | } 49 | 50 | &--transparent { 51 | background-color: transparent; 52 | } 53 | 54 | &--warning { 55 | background-color: lighten($c-yellow, 5%); 56 | } 57 | 58 | &--alert { 59 | background-color: lighten($c-red, 8%); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /assets/css/helpers/_helper-grid.scss: -------------------------------------------------------------------------------- 1 | .container { 2 | @include margin--auto; 3 | max-width: 1440px; 4 | @apply pl-22; 5 | @apply pr-22; 6 | width: 100%; 7 | &.inner{ 8 | @include media-breakpoint-up(lg) { 9 | @apply pl-122; 10 | @apply pr-122; 11 | } 12 | } 13 | 14 | &--card { 15 | padding-left:0; 16 | padding-right:0; 17 | @include media-breakpoint-up(md) { 18 | @apply pl-64; 19 | @apply pr-64; 20 | } 21 | } 22 | } 23 | 24 | .container-bleed { 25 | @include margin--auto; 26 | max-width: 1440px; 27 | } 28 | 29 | .wrapper { 30 | overflow-x: hidden; 31 | } 32 | -------------------------------------------------------------------------------- /assets/css/helpers/_helper-transitions.scss: -------------------------------------------------------------------------------- 1 | .before-enter { 2 | opacity: 0; 3 | transform: translateY(35px); 4 | transition-property: all; 5 | transition-duration: 0.75s; 6 | transition-timing-function: ease-in-out; 7 | transition-delay: inherit; 8 | } 9 | 10 | .enter { 11 | opacity: 1; 12 | transform: translateY(0); 13 | } 14 | 15 | .delay-step_1{ 16 | @apply delay-100; 17 | } 18 | 19 | .delay-step_2{ 20 | @apply delay-200; 21 | } 22 | 23 | .delay-step_3{ 24 | @apply delay-300; 25 | } 26 | 27 | // .delay-step_4{ 28 | // @apply delay-400; 29 | // } 30 | 31 | .delay-step_5{ 32 | @apply delay-500; 33 | } -------------------------------------------------------------------------------- /assets/css/helpers/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import './helper-grid'; 2 | @import './helper-colors'; 3 | @import './helper-transitions'; 4 | //Generic Helper classes based on mixins 5 | -------------------------------------------------------------------------------- /assets/css/modules.scss: -------------------------------------------------------------------------------- 1 | // ================================== 2 | // SETTINGS 3 | // ================================== 4 | @import 'settings/settings'; 5 | 6 | // ================================== 7 | // HELPER UTILITIES 8 | // ================================== 9 | @import 'utilities/utilities'; -------------------------------------------------------------------------------- /assets/css/settings/_set-breakpoints.scss: -------------------------------------------------------------------------------- 1 | @function strip-unit($number) { 2 | @if type-of($number) == 'number' and not unitless($number) { 3 | @return math.div($number, $number * 0 + 1); 4 | } 5 | 6 | @return $number; 7 | } 8 | 9 | $grid-breakpoints: ( 10 | xs: 0, 11 | sm: 560px, 12 | md: 768px, 13 | lg: 1024px, 14 | xl: 1280px, 15 | xxl: 1536px, 16 | xxxl: 1800px, 17 | xxxxl: 2000px, 18 | xxxxxl: 3000px, 19 | ) !default; 20 | 21 | /// BELOW EXPORTS THESE BREAKPOINTS AS VARIABLES FOR JS USE 22 | 23 | @each $size, $value in $grid-breakpoints { 24 | :export { 25 | BREAKPOINT_#{$size}: strip-unit($value); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /assets/css/settings/_set-colors.scss: -------------------------------------------------------------------------------- 1 | // Color vars 2 | $c-black: #2f3542; 3 | $c-white: #fff; 4 | $c-flat-white: #e5e5e5; 5 | $c-dark-blue: #2A1E71; 6 | //$c-dark-blue: rgb(42, 48, 142); 7 | $c-blue: #2f6af4; 8 | //$c-blue: rgb(47, 106, 244); 9 | $c-purple: #6349FF; 10 | //$purple: rgb(117, 55, 200); 11 | $c-yellow: #f1a63b; 12 | $c-orange-dark: #793030; 13 | //$yellow: rgb(241, 166, 59); 14 | $c-egg-white: #f6f0eb; 15 | //$egg-white: rgb(246, 240, 235); 16 | $c-red: #ff475b; 17 | //$red: rgb(236, 86, 96); 18 | $c-bg-blue: #1c68fd; 19 | //$$c-bg-blue: rgb(28, 104, 253) 20 | $c-green: #14ca26; 21 | $c-dark-green: #5db075; 22 | $c-grey: #757575; 23 | $c-grey-dark: #444444; 24 | $c-body: #4d4b4b; 25 | $c-heading: #4d5873; 26 | 27 | // sass variables for default colors 28 | $colors: ( 29 | 'black': $c-black, 30 | 'white': $c-white, 31 | 'dark-blue': $c-dark-blue, 32 | 'blue': $c-blue, 33 | 'purple': $c-purple, 34 | 'yellow': $c-yellow, 35 | 'egg-white': $c-egg-white, 36 | 'red': $c-red, 37 | 'grey': $c-grey, 38 | 'flat-white': $c-flat-white, 39 | 'green': $c-green, 40 | 'dark-green': $c-dark-green, 41 | 'bg-blue': $c-bg-blue, 42 | 'body': $c-body, 43 | ); 44 | 45 | // Variable prefix 46 | $color-prefix: --c-; 47 | 48 | // Color naming function 49 | @function color($color-name) { 50 | @return var(#{$color-prefix}#{$color-name}); 51 | } 52 | -------------------------------------------------------------------------------- /assets/css/settings/_set-font-weights.scss: -------------------------------------------------------------------------------- 1 | $weight-bold: 700; 2 | $weight-semi-bold: 600; 3 | $weight-medium: 500; 4 | $weight-regular: 400; 5 | $weight-light: 100; 6 | -------------------------------------------------------------------------------- /assets/css/settings/_set-fonts-size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | // Default Fonts Size Variables 4 | $size-default: 1rem; 5 | 6 | $size-x-huge: 30rem; // HL 7 | $size-huge: 15rem; // HM 8 | $size-bigger: 10rem; // HS 9 | 10 | $size-big: 5rem; // H1 11 | $size-xx-large: 4rem; // H2 12 | $size-x-large: 3rem; // H3 13 | $size-large: 2.4rem; // H4 / Q1 14 | $size-medium: 1.6rem; // SH4 / Bodycopy 1, 2 & 3 15 | $size-small: 1.4rem; // SH1 / SH2 16 | -------------------------------------------------------------------------------- /assets/css/settings/_set-fonts.scss: -------------------------------------------------------------------------------- 1 | // // Sans Font 2 | @import "../mixins"; 3 | @include font-face("GT Maru Medium", assets/fonts/GT-Maru-Medium, medium, normal, otf ttf woff2 woff); 4 | @include font-face("GT Maru Oblique", assets/fonts/GT-Maru-Medium-Oblique, oblique, normal, otf ttf woff2 woff); 5 | 6 | $font-sans: 'Inter', sans-serif; 7 | $font-sans-light: 'Inter', sans-serif; 8 | $font-sans-x-light: 'Lexend', sans-serif; 9 | $font-sans-xx-light: 'Lexend', sans-serif; 10 | $font-sans-regular: 'Inter', sans-serif; 11 | $font-sans-header-standard: 'GT Maru Medium', sans-serif; 12 | $font-sans-header-oblique: 'GT Maru Oblique', sans-serif; 13 | 14 | // Serif font 15 | $font-serif: 'Times'; 16 | -------------------------------------------------------------------------------- /assets/css/settings/_set-sizes.scss: -------------------------------------------------------------------------------- 1 | $xxs: 5px; 2 | $xs: 14px; 3 | $small: 24px; 4 | $medium: 32px; 5 | $large: 48px; 6 | $xlarge: 60px; 7 | $xxlarge: 72px; 8 | $huge: 96px; 9 | $xhuge: 110px; 10 | 11 | $padding-default: 20px; 12 | -------------------------------------------------------------------------------- /assets/css/settings/_set-timing.scss: -------------------------------------------------------------------------------- 1 | $t-short: 0.3s; 2 | $t-medium: 0.5s; 3 | $t-long: 1s; 4 | $t-x-long: 1.5s; 5 | -------------------------------------------------------------------------------- /assets/css/settings/_settings.scss: -------------------------------------------------------------------------------- 1 | @import 'set-breakpoints'; 2 | @import 'set-colors'; 3 | @import 'set-font-weights'; 4 | @import 'set-fonts-size'; 5 | @import 'set-fonts'; 6 | @import 'set-sizes'; 7 | @import 'set-timing'; 8 | -------------------------------------------------------------------------------- /assets/css/tailwind.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /assets/css/utilities/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utl-breakpoints"; 2 | @import "utl-spacing"; 3 | @import "utl-typography"; 4 | @import "utl-images"; 5 | @import "utl-buttons"; 6 | -------------------------------------------------------------------------------- /assets/css/utilities/_utl-buttons.scss: -------------------------------------------------------------------------------- 1 | %button { 2 | -webkit-appearance: none; 3 | appearance: none; 4 | background-repeat: no-repeat; 5 | background-size: contain; 6 | cursor: pointer; 7 | line-height: $size-medium; 8 | font-family: $font-sans-header-standard; 9 | font-weight: 500; 10 | font-size: 11px; 11 | line-height: 1; 12 | position: relative; 13 | text-align: center; 14 | transition: 300ms cubic-bezier(0.3, 0, 0.175, 1); 15 | user-select: none; 16 | padding: 10px 20px; 17 | display: flex; 18 | align-items: center; 19 | justify-content: center; 20 | height: fit-content; 21 | 22 | 23 | &:focus:not(:focus-visible) { 24 | outline: none; 25 | } 26 | 27 | @include media-breakpoint-up(md) { 28 | line-height: 2rem; 29 | min-height: 35px;; 30 | font-size: 12px; 31 | } 32 | 33 | @media (pointer: fine), (-ms-high-contrast: none), (-ms-high-contrast: active) { 34 | &:hover { 35 | background-color: $c-purple; 36 | border-color: $c-purple; 37 | color: white; 38 | } 39 | } 40 | 41 | &[disabled] { 42 | cursor: default; 43 | filter: grayscale(100%) !important; 44 | pointer-events: none; 45 | 46 | &:hover { 47 | transform: none; 48 | } 49 | } 50 | 51 | &.inactive { 52 | opacity: 0.7; 53 | pointer-events: none; 54 | } 55 | } 56 | 57 | -------------------------------------------------------------------------------- /assets/css/utilities/_utl-images.scss: -------------------------------------------------------------------------------- 1 | @mixin object-fit($fit: cover, $position: center) { 2 | font-family: "object-fit: #{$fit}; object-position: #{$position};"; 3 | object-fit: $fit; 4 | object-position: $position; 5 | } 6 | 7 | @mixin img-retina($image, $extension, $size: 100%, $position: center, $repeat: no-repeat) { 8 | background: url("~@/assets/"+$image+"."+$extension) $repeat $position; 9 | 10 | @media screen and (-webkit-min-device-pixel-ratio: 2), 11 | screen and (-moz-device-pixel-ratio: 2), 12 | screen and (-moz-min-device-pixel-ratio: 2), 13 | screen and (-o-min-device-pixel-ratio: 2/1), 14 | screen and (-webkit-device-pixel-ratio: 2), 15 | screen and (min-resolution: 192dpi), 16 | screen and (min-resolution: 2dppx) { 17 | background: url("~@/assets/"+$image+"@2x"+"."+$extension) $repeat $position; 18 | background-size: $size; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /assets/css/utilities/_utl-spacing.scss: -------------------------------------------------------------------------------- 1 | @mixin margin--auto { 2 | margin-left: auto; 3 | margin-right: auto; 4 | } 5 | -------------------------------------------------------------------------------- /assets/css/utilities/_utl-typography.scss: -------------------------------------------------------------------------------- 1 | @mixin h1 { 2 | font-family: $font-sans-header-standard; 3 | font-weight: $weight-medium; 4 | @apply text-33; 5 | @apply leading-40; 6 | 7 | @include media-breakpoint-up(md) { 8 | @apply text-54; 9 | @apply leading-60; 10 | } 11 | } 12 | 13 | @mixin h2 { 14 | font-family: $font-sans-header-standard; 15 | @apply text-33; 16 | font-weight:$weight-medium; 17 | @apply leading-40; 18 | 19 | @include media-breakpoint-up(md) { 20 | @apply text-54; 21 | @apply leading-60; 22 | } 23 | } 24 | 25 | @mixin h3 { 26 | font-family: $font-sans-header-standard; 27 | font-size: 25px; 28 | font-weight: $weight-medium; 29 | @apply leading-30; 30 | 31 | @include media-breakpoint-up(md) { 32 | @apply text-36; 33 | @apply leading-43; 34 | } 35 | } 36 | 37 | @mixin h4 { 38 | font-family: $font-sans-header-standard; 39 | font-weight: $weight-medium; 40 | @apply leading-23; 41 | @apply text-19; 42 | 43 | @include media-breakpoint-up(md) { 44 | @apply text-24; 45 | @apply leading-32; 46 | } 47 | } 48 | 49 | 50 | %text--subheading-1 { 51 | font-family: $font-sans-header-standard; 52 | font-size: 1.2rem; 53 | font-weight: $weight-medium; 54 | letter-spacing: 0.082rem; 55 | line-height: 1.8rem; 56 | 57 | @include media-breakpoint-up(md) { 58 | font-size: $size-small; // 14px 59 | letter-spacing: 0.05rem; 60 | line-height: 1.8rem; 61 | } 62 | } 63 | 64 | %text--body-1 { 65 | font-family: $font-sans-light; 66 | font-size: $size-small; 67 | font-weight: $weight-regular; 68 | line-height: 1.8rem; 69 | 70 | @include media-breakpoint-up(md) { 71 | font-size: $size-medium; // 16px 72 | font-weight: $weight-regular; 73 | line-height: 2.4rem; 74 | } 75 | } 76 | 77 | %text--body-small { 78 | color: $c-body; 79 | font-family: $font-sans-light; 80 | letter-spacing: 0.05rem; 81 | font-size: $size-small; // 16px 82 | font-weight: $weight-regular; 83 | line-height: 1.5; 84 | } 85 | 86 | %text--link { 87 | font-family: $font-sans-light; 88 | font-size: $size-medium; 89 | font-weight: $weight-regular; 90 | } 91 | 92 | %inline--link { 93 | font-family: $font-sans-light; 94 | //font-size: $size-small; // 14px 95 | // letter-spacing: 0.05rem; 96 | // line-height: 2.1rem; 97 | font-size: $size-small; 98 | font-weight: $weight-bold; 99 | line-height: 1.5rem; 100 | position: relative; 101 | 102 | &:after { 103 | background: $c-blue; 104 | bottom: -4px; 105 | content: ""; 106 | height: 2px; 107 | left: 0; 108 | margin: 0 auto; 109 | opacity: 0; 110 | position: absolute; 111 | right: 0; 112 | transition: 0.5s; 113 | width: 0; 114 | } 115 | 116 | @include media-breakpoint-up(lg) { 117 | font-size: $size-medium; // 16px 118 | line-height: 1.3; 119 | } 120 | 121 | @media (pointer: fine), (-ms-high-contrast: none), (-ms-high-contrast: active) { 122 | &:hover { 123 | color: $c-blue; 124 | 125 | &:after { 126 | opacity: 1; 127 | width: 100%; 128 | } 129 | } 130 | } 131 | } 132 | 133 | %text--subheading { 134 | font-family: $font-sans-header-standard; 135 | @apply leading-23; 136 | @apply text-19; 137 | font-weight: $weight-medium; 138 | 139 | @include media-breakpoint-up(md) { 140 | @apply text-24; 141 | @apply leading-32; 142 | } 143 | } 144 | 145 | %bullet { 146 | padding-left: 20px; 147 | 148 | li { 149 | margin-bottom: $small; 150 | position: relative; 151 | 152 | &:before { 153 | content: "\2022"; 154 | display: inline-block; 155 | height: 4px; 156 | left: -20px; 157 | margin-right: 5px; 158 | position: absolute; 159 | width: 4px; 160 | } 161 | } 162 | } 163 | -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium-Oblique.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium-Oblique.otf -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium-Oblique.ttf -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium-Oblique.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium-Oblique.woff -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium-Oblique.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium-Oblique.woff2 -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium.otf -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium.ttf -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium.woff -------------------------------------------------------------------------------- /assets/fonts/GT-Maru-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/assets/fonts/GT-Maru-Medium.woff2 -------------------------------------------------------------------------------- /assets/icons/Monitor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /assets/icons/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevron_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/github-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /assets/icons/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /assets/icons/img/github-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /assets/icons/img/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/img/howtouseit_monitor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /assets/icons/img/keys.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/icons/img/ledger.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /assets/icons/img/mail_24px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/img/monitor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /assets/icons/img/pressandevents.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/icons/img/slack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/img/stories.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/keys.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/icons/ledger.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /assets/icons/link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/menu-button-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/menu-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/icons/slack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /components/FullWidthTextBanner.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | 51 | -------------------------------------------------------------------------------- /components/NuxtLogo.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /components/OnScreen.vue: -------------------------------------------------------------------------------- 1 | 70 | -------------------------------------------------------------------------------- /components/TextTickerBanner.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /components/carousel.vue: -------------------------------------------------------------------------------- 1 | 2 | 7 | 52 | -------------------------------------------------------------------------------- /components/faqSection.vue: -------------------------------------------------------------------------------- 1 | 2 | 25 | 64 | -------------------------------------------------------------------------------- /components/sigstoreDivider.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /components/sigstoreEcosystem.vue: -------------------------------------------------------------------------------- 1 | 2 | 26 | 82 | -------------------------------------------------------------------------------- /components/softwareBehind.vue: -------------------------------------------------------------------------------- 1 | 2 | 28 | 60 | -------------------------------------------------------------------------------- /components/solidCtaBlue.vue: -------------------------------------------------------------------------------- 1 | 7 | 28 | 35 | 36 | -------------------------------------------------------------------------------- /components/solidCtaPurple.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /components/sponsorsList.vue: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /components/storySoFar.vue: -------------------------------------------------------------------------------- 1 | 2 | 40 | 94 | -------------------------------------------------------------------------------- /components/threeColumnTextGrid.vue: -------------------------------------------------------------------------------- 1 | 17 | 69 | -------------------------------------------------------------------------------- /components/transparentCta.vue: -------------------------------------------------------------------------------- 1 | 7 | 32 | 43 | 44 | -------------------------------------------------------------------------------- /components/twoColumnAnnouncement.vue: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /components/twoColumnBanner.vue: -------------------------------------------------------------------------------- 1 | 20 | -------------------------------------------------------------------------------- /components/twoColumnTextGrid.vue: -------------------------------------------------------------------------------- 1 | 16 | 52 | -------------------------------------------------------------------------------- /content/caseStudies/bleeping-computer.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: cdddc 3 | title: Bleeping Computer 4 | date: Wednesday July 21st, 2021 5 | brand: /img/bleepingcomputer.png 6 | name: Lawrence Abrams 7 | role: Bleeping Computer 8 | caseColour: bg-orange-medium 9 | caseStudyText: '"The software ecosystem is in dire need of something like 10 | [sigstore] to report the state of the supply chain."' 11 | caseStudyLink: https://www.bleepingcomputer.com/news/security/linux-foundation-unveils-sigstore-a-lets-encrypt-for-code-signing/ 12 | category: Press 13 | --- 14 | -------------------------------------------------------------------------------- /content/caseStudies/google.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: “We need to make it possible to verify provenance along the entire 3 | chain and the goal of the Sigstore effort is to enable just that.” 4 | title: Google 5 | date: Wednesday July 21st, 2021 6 | brand: /img/google.png 7 | name: Ryan Hurst 8 | role: Google Production Security Team 9 | caseColour: bg-orange-medium 10 | caseStudyText: “We need to make it possible to verify provenance along the 11 | entire chain and the goal of the Sigstore effort is to enable just that.” 12 | caseStudyLink: https://security.googleblog.com/2021/07/verifiable-design-in-modern-systems.html 13 | category: Blog post 14 | --- 15 | -------------------------------------------------------------------------------- /content/caseStudies/kpack.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Kpack 3 | date: Wednesday July 21st, 2021 4 | brand: /img/kpack.png 5 | category: "Integration: KPACK" 6 | excerpt: An integration to sign images . . . and push the signatures to a 7 | registry so that users can ensure the chain of custody of a generated 8 | artifact. 9 | caseColour: bg-pastel-blue 10 | caseStudyText: "An integration to sign images . . . and push the signatures to a 11 | registry so that users can ensure the chain of custody of a generated 12 | artifact. " 13 | caseStudyLink: https://github.com/pivotal/kpack/blob/main/rfcs/0007-cosign-integration.md 14 | --- 15 | -------------------------------------------------------------------------------- /content/caseStudies/npm.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: “How to verifiably link npm packages to their source repository and build instructions.” 3 | title: GitHub 4 | date: Wednesday July 21st, 2021 5 | brand: /img/github-icon.png 6 | name: Brian DeHamer, Philip Harrison 7 | role: GitHub Package Security Team 8 | caseColour: bg-orange-medium 9 | caseStudyText: “How to verifiably link npm packages to their source repository and build instructions.” 10 | caseStudyLink: https://github.blog/2023-04-19-introducing-npm-package-provenance/ 11 | category: "Case Study: NPM" 12 | --- 13 | -------------------------------------------------------------------------------- /content/caseStudies/red-hat.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: An open source community coming together to collaborate and develop a 3 | solution to ease the adoption of software signing in a transparent manner. 4 | title: Red Hat 5 | date: Wednesday July 21st, 2021 6 | brand: /img/redhat.png 7 | name: Luke Hinds 8 | role: Co-creator, sigstore & Senior Principal Software Engineer, Red Hat 9 | caseColour: bg-purple-light 10 | caseStudyText: '"An open source community coming together to collaborate and 11 | develop a solution to ease the adoption of software signing..." ' 12 | caseStudyLink: https://security.googleblog.com/2021/03/introducing-sigstore-easy-code-signing.html 13 | category: Blog Post 14 | --- 15 | -------------------------------------------------------------------------------- /content/caseStudies/stacklok.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: "We're excited to announce the launch of Minder and Trusty, two free-to-use tools that build on the power of the open source project Sigstore..." 3 | title: Stacklok 4 | date: Wednesday July 21st, 2021 5 | brand: /img/stacklok-icon.png 6 | caseColour: bg-pastel-blue 7 | caseStudyText: "We're excited to announce the launch of Minder and Trusty, two free-to-use tools that build on the power of the open source project Sigstore..." 8 | caseStudyLink: https://stacklok.com/blog/announcing-trusty-and-minder-free-to-use-tools-to-help-developers-and-open-source-communities-build-safer-software 9 | category: "Case Study: Stacklok" 10 | --- 11 | -------------------------------------------------------------------------------- /content/caseStudies/wired.md: -------------------------------------------------------------------------------- 1 | --- 2 | excerpt: “Sigstore will make code signing free and easy for software developers, 3 | providing an important first line of defense.” 4 | title: Wired 5 | date: Wednesday July 21st, 2021 6 | brand: /img/wired.png 7 | name: Lily Hay Newman 8 | role: Wired 9 | caseColour: bg-purple-light 10 | caseStudyText: “Sigstore will make code signing free and easy for software 11 | developers, providing an important first line of defense.” 12 | caseStudyLink: https://www.wired.com/story/sigstore-open-source-supply-chain-code-signing/ 13 | category: Press 14 | --- 15 | -------------------------------------------------------------------------------- /content/category/bleeping-computer.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/bleepingcomputer.png", 3 | "title": "Bleeping Computer", 4 | "position": "6" 5 | } -------------------------------------------------------------------------------- /content/category/github.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/github-icon.png", 3 | "title": "GitHub", 4 | "position": "2" 5 | } -------------------------------------------------------------------------------- /content/category/google.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/google.png", 3 | "title": "Google", 4 | "position": "3" 5 | } -------------------------------------------------------------------------------- /content/category/kpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/kpack.png", 3 | "title": "KPACK", 4 | "position": "4" 5 | } -------------------------------------------------------------------------------- /content/category/red-hat.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/redhat.png", 3 | "title": "Red Hat", 4 | "position": "5" 5 | } -------------------------------------------------------------------------------- /content/category/stacklok.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/stacklok-icon.png", 3 | "title": "Stacklok", 4 | "position": "1" 5 | } -------------------------------------------------------------------------------- /content/category/wired.json: -------------------------------------------------------------------------------- 1 | { 2 | "brandLogo": "/img/wired.png", 3 | "title": "Wired", 4 | "position": "7" 5 | } -------------------------------------------------------------------------------- /content/community.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Community 3 | date: 2021-07-09T15:26:36.522Z 4 | description: We’re a working partnership aligned by the values of open source 5 | and safer software. We continue to develop sigstore to make sure it’s for 6 | everyone. 7 | sections: 8 | - ctaStyle: transparentCta 9 | showSupportedBy: false 10 | text: We’re a working partnership aligned by the values of open source and safer 11 | software. We continue to develop sigstore to make sure it’s for everyone. 12 | header: Driven forward by community 13 | showStatsBanner: false 14 | bgColour: bg-orange-medium 15 | textAlign: center 16 | textColour: text-orange-dark 17 | type: textBanner 18 | isScreenHeight: true 19 | - type: sigstoreDivider 20 | showSigstoreDivider: true 21 | - type: threeColumnTextGrid 22 | column1: 23 | header: Join our working group 24 | imageAsset: /img/slack.svg 25 | text: Questions, answers and what we’re working on as it happens. Come join us 26 | on Slack to get help or help out, and be right there where the action’s 27 | happening. 28 | ctaText: Join us on Slack 29 | bgColour: bg-white 30 | ctaLink: https://join.slack.com/t/sigstore/shared_invite/zt-2ub0ztl5z-PkWb_Ldwef5d6nb~oryaTA 31 | column2: 32 | header: Share your stories 33 | imageAsset: /img/stories.svg 34 | text: Already working with sigstore? Sharing and self-reporting helps us track 35 | community health, the state of the tooling and how it’s all being used. 36 | ctaText: Leave a user story 37 | bgColour: bg-white 38 | ctaLink: https://github.com/sigstore/friends 39 | column3: 40 | header: "" 41 | imageAsset: "" 42 | text: "" 43 | ctaText: "" 44 | bgColour: bg-white 45 | ctaLink: "" 46 | header: Want to get involved? 47 | text: "" 48 | - type: sigstoreDivider 49 | showSigstoreDivider: true 50 | - type: sponsorsList 51 | isSponsorsList: true 52 | - type: sigstoreDivider 53 | showSigstoreDivider: true 54 | - type: newsEvents 55 | isNewsAndEvents: false 56 | - type: sigstoreDivider 57 | showSigstoreDivider: true 58 | - type: storySoFar 59 | showStory: true 60 | - type: sigstoreDivider 61 | showSigstoreDivider: true 62 | --- 63 | 64 | Body text 65 | -------------------------------------------------------------------------------- /content/ctas/find-out-more.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Find out more", 3 | "link": "/testimonials", 4 | "ctaicon": "/img/vuepresslogo.png" 5 | } -------------------------------------------------------------------------------- /content/ctas/if-youre-interested-lets-talk.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Get in touch", 3 | "link": "mailTo:test@gmail.com", 4 | "ctaicon": "/img/mail_24px.svg" 5 | } -------------------------------------------------------------------------------- /content/ctas/learn-more.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Learn more", 3 | "link": "https://github.com", 4 | "ctaicon": "/img/github.svg" 5 | } -------------------------------------------------------------------------------- /content/ctas/view-the-project.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "View the project", 3 | "ctaicon": "/img/github.svg", 4 | "link": "https://github.com/sigstore" 5 | } -------------------------------------------------------------------------------- /content/docs/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Rekor Command Line Interface' 3 | date: 2020-12-08T08:06:07Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | 9 | The following guide is targeted towards developers / software maintainers who would like to make a provenance entry into the rekor transparency log. 10 | 11 | The steps outlined below will show how to sign your software and then use the `rekor` CLI to make and verify an entry. 12 | 13 | ## Download the Rekor CLI application 14 | 15 | ## Prerequisites 16 | 17 | You will of course also need golang version 1.15 or greater and a `$GOPATH` set. 18 | 19 | ## Build rekor 20 | 21 | ``` 22 | go get -u -t -v github.com/sigstore/rekor/cmd/rekor-cli 23 | cd $GOPATH/src/github.com/sigstore/rekor/cmd/rekor-cli 24 | go build -v -o rekor 25 | cp rekor /usr/local/bin/ 26 | ``` 27 | 28 | ## Sign your release 29 | 30 | Before using rekor, you are required to sign your release. The following example illustrates 31 | this using GPG. 32 | 33 | You may use either armored or plain binary: 34 | 35 | ``` 36 | gpg --armor -u jdoe@example.com --output mysignature.asc --detach-sig myrelease.tar.gz 37 | ``` 38 | 39 | You will also need to export your public key 40 | 41 | ``` 42 | gpg --export --armor "jdoe@example.com" > mypublickey.key 43 | ``` 44 | 45 | ## Upload an entry rekor 46 | 47 | The `upload` command sends your public key / signature and artifact URL to the rekor transparency log. 48 | 49 | ``` 50 | rekor upload --rekor_server https://rekor.sigstore.dev --signature --public-key --artifact 51 | ``` 52 | 53 | Firstly the rekor command will verify your public key, signature and download 54 | a local copy of the artifact. It will then validate the artifact signing (no 55 | access to your private key is required). 56 | 57 | If the validations above pass correctly, the entry will be made to rekor and an entry URL will be returned: 58 | 59 | ``` 60 | Created entry at: https://rekor.sigstore.dev/api/v1/log/entries/b08416d417acdb0610d4a030d8f697f9d0a718024681a00fa0b9ba67072a38b5 61 | ``` 62 | 63 | This URL contains the UUID entry / merkle tree hash (in the above case `b08416d417acdb0610d4a030d8f697f9d0a718024681a00fa0b9ba67072a38b5`). 64 | 65 | Within here is again the UUID and the body of the entry. 66 | 67 | ## Verify Proof of Entry 68 | 69 | The `verify` command allows you to send a public key / signature and artifact to the rekor transparency log for verification of entry. 70 | 71 | You would typically use this command as a means to verify an 'inclusion proof' 72 | showing that your artifact is stored within the transparency log. 73 | 74 | ``` 75 | rekor verify --rekor_server --signature --public-key --artifact | 76 | ``` 77 | 78 | > Note that alternatively you can use a local artifact path with `--artifact`. 79 | 80 | ## Get Entry 81 | 82 | An entry in the log can be retrieved by using the `get` command with either the log index or the artifact UUID: 83 | 84 | ``` 85 | rekor get --rekor_server https://rekor.sigstore.dev --log-index 86 | ``` 87 | 88 | ``` 89 | rekor get --rekor_server https://rekor.sigstore.dev --uuid 90 | ``` 91 | 92 | ## Log Info 93 | 94 | The `loginfo` command retrieves the public key of the transparency log (unless already declared within the client `~/.rekor/rekor.yaml`) 95 | and then uses this public key to verify the signature on the signed tree head. 96 | 97 | ``` 98 | rekor loginfo --rekor_server https://rekor.sigstore.dev 99 | ``` 100 | 101 | ## Search 102 | 103 | If running a redis instance within rekor, the `search` command performs a redis lookup using a file or a public key. 104 | 105 | This command requires one of an artifact, a public key, or a SHA hash. 106 | 107 | ``` 108 | rekor search --rekor_server https://rekor.sigstore.dev --[artifact|public-key|sha] 109 | ``` 110 | -------------------------------------------------------------------------------- /content/docs/docs/api_example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Rekor API Client Example" 3 | date: 2020-12-11T10:09:51Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | 9 | We use the [OpenAPI specification](https://swagger.io/docs/specification/about/) in rekor making it easy to create your own RestFul API client. 10 | 11 | If you're interested in developing an application that can store or retrieve entries into a Rekor transparency log, we recommend you take a look at the [swagger online editor](https://sigstore.dev/swagger/index.html?urls.primaryName=Rekor). 12 | -------------------------------------------------------------------------------- /content/docs/faq.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Frequently Asked Questions" 3 | date: 2020-12-07T17:09:20Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | 9 | ### Seems like Rekor is centralised? 10 | * Yes, why not? There is no need for a distributed source of transparency. There can be multiple points of transparency which only adds more sources of security guarantee, not less. An entity can post to as many Rekor’s as they want and inform users of where they post. We do encourage folks to use common public instances, but we don't seek to enforce this. We do plan to look to produce a gossip protocol, for those that desire a more decentralised model (if the demand is shown). 11 | 12 | ### Why not use a blockchain? 13 | * Public blockchains often end up using a centralized entry point for canonicalisation, auth etc 14 | * Consensus alg’s can be susceptible to 51% attack (Crash / Byzantine Fault Tolerant) 15 | * We are far from anti-blockchain, but feel its not the most best fit for Rekors needs at present 16 | 17 | ### Why use a Merkle Tree / Transparency log? 18 | * Rekors back end is [Trillian](https://github.com/google/trillian) 19 | * Trillian is an Open source community under active development 20 | * Trilian is Deployed by Google, CloudFlare (nimbus), Let's Encrypt for cerficate transparency, so it already is considered production grade. 21 | 22 | ### Can I get Rekor to work with my X format , framework standard? 23 | * Yes, using pluggable types you can create your own manifest layout and send it to rekor. Head over to [plugable types](/docs/plugable_types/) 24 | 25 | -------------------------------------------------------------------------------- /content/docs/get_started/client.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Rekor Command Line Interface" 3 | date: 2020-12-08T08:06:07Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | 9 | The following guide is targeted towards developers / software maintainers who would like to make a provenance entry into the rekor transparency log. 10 | 11 | The steps outlined below will show how to sign your software and then use the `rekor` CLI to make and verify an entry. 12 | 13 | ## Download the Rekor CLI application 14 | 15 | ## Prerequisites 16 | 17 | You will of course also need golang version 1.15 or greater and a `$GOPATH` set. 18 | 19 | ## Build rekor 20 | 21 | ``` 22 | go get -u -t -v github.com/sigstore/rekor/cmd/rekor-cli 23 | cd $GOPATH/src/github.com/sigstore/rekor/cmd/rekor-cli 24 | go build -v -o rekor 25 | cp rekor /usr/local/bin/ 26 | ``` 27 | 28 | ## Sign your release 29 | 30 | Before using rekor, you are required to sign your release. The following example illustrates 31 | this using GPG. 32 | 33 | You may use either armored or plain binary: 34 | 35 | ``` 36 | gpg --armor -u jdoe@example.com --output mysignature.asc --detach-sig myrelease.tar.gz 37 | ``` 38 | 39 | You will also need to export your public key 40 | 41 | ``` 42 | gpg --export --armor "jdoe@example.com" > mypublickey.key 43 | ``` 44 | 45 | ## Upload an entry rekor 46 | 47 | The `upload` command sends your public key / signature and artifact URL to the rekor transparency log. 48 | 49 | ``` 50 | rekor upload --rekor_server https://rekor.sigstore.dev --signature --public-key --artifact 51 | ``` 52 | 53 | Firstly the rekor command will verify your public key, signature and download 54 | a local copy of the artifact. It will then validate the artifact signing (no 55 | access to your private key is required). 56 | 57 | If the validations above pass correctly, the entry will be made to rekor and an entry URL will be returned: 58 | 59 | ``` 60 | Created entry at: https://rekor.sigstore.dev/api/v1/log/entries/b08416d417acdb0610d4a030d8f697f9d0a718024681a00fa0b9ba67072a38b5 61 | ``` 62 | 63 | This URL contains the UUID entry / merkle tree hash (in the above case `b08416d417acdb0610d4a030d8f697f9d0a718024681a00fa0b9ba67072a38b5`). 64 | 65 | Within here is again the UUID and the body of the entry. 66 | 67 | ## Verify Proof of Entry 68 | 69 | The `verify` command allows you to send a public key / signature and artifact to the rekor transparency log for verification of entry. 70 | 71 | You would typically use this command as a means to verify an 'inclusion proof' 72 | showing that your artifact is stored within the transparency log. 73 | 74 | ``` 75 | rekor verify --rekor_server --signature --public-key --artifact | 76 | ``` 77 | 78 | > Note that alternatively you can use a local artifact path with `--artifact`. 79 | 80 | ## Get Entry 81 | 82 | An entry in the log can be retrieved by using the `get` command with either the log index or the artifact UUID: 83 | 84 | ``` 85 | rekor get --rekor_server https://rekor.sigstore.dev --log-index 86 | ``` 87 | 88 | ``` 89 | rekor get --rekor_server https://rekor.sigstore.dev --uuid 90 | ``` 91 | 92 | ## Log Info 93 | 94 | The `loginfo` command retrieves the public key of the transparency log (unless already declared within the client `~/.rekor/rekor.yaml`) 95 | and then uses this public key to verify the signature on the signed tree head. 96 | 97 | ``` 98 | rekor loginfo --rekor_server https://rekor.sigstore.dev 99 | ``` 100 | 101 | ## Search 102 | 103 | If running a redis instance within rekor, the `search` command performs a redis lookup using a file or a public key. 104 | 105 | This command requires one of an artifact, a public key, or a SHA hash. 106 | 107 | ``` 108 | rekor search --rekor_server https://rekor.sigstore.dev --[artifact|public-key|sha] 109 | ``` 110 | -------------------------------------------------------------------------------- /content/docs/get_started/server.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Run a Rekor Server" 3 | date: 2020-12-08T08:12:58Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | There are a few ways to deploy a Rekor Server: 9 | 10 | 1. We have a [docker-compose](https://github.com/sigstore/rekor/blob/main/docker-compose.yml) file available 11 | 2. A [kubernetes operator](https://github.com/sigstore/rekor-operator) 12 | 3. Or you could do this manually and build rekor yourself. 13 | 14 | # Manual Installation 15 | 16 | ## Prerequisites 17 | 18 | You will of course also need golang version 1.15 or greater and a `$GOPATH` set. 19 | 20 | If you want to perform fast queries you will need to add redis, otherwise you must pass the `--enable_retrieve_api=false` 21 | flag when running `rekor-server` in the later steps of this page. 22 | 23 | ## Get Rekor 24 | 25 | Grab the rekor source: 26 | 27 | `go get -u -t -v github.com/sigstore/rekor/cmd/server` 28 | 29 | > Note: You can also `git clone` should you prefer. 30 | 31 | ## Create Database and populate tables 32 | 33 | Trillian requires a database, we use MariaDB for now (others to be explored later). Once this 34 | is installed on your machine, edit the `scripts/createdb.sh` file with your database root account credentials and run the 35 | script. If you're just trying out rekor, keep the DB user name and password the same as in the script (test/zaphod). If 36 | you change these, you need to make the changes on Trillian's side (visit the trillian repo for details). 37 | 38 | ## Build Trillian 39 | 40 | To run rekor you need to build trillian: 41 | 42 | ``` 43 | go get -u -t -v github.com/google/trillian 44 | cd $GOPATH/src/github.com/google/trillian/cmd/trillian_log_server 45 | go build 46 | cp trillian_log_server /usr/local/bin/ 47 | cd $GOPATH/src/github.com/google/trillian/cmd/trillian_log_signer 48 | go build 49 | cp trillian_log_signer /usr/local/bin/ 50 | ``` 51 | 52 | ### Start the tlog server 53 | 54 | ``` 55 | trillian_log_server -http_endpoint=localhost:8090 -rpc_endpoint=localhost:8091 --logtostderr ... 56 | ``` 57 | 58 | ### Start the tlog signer 59 | 60 | ``` 61 | trillian_log_signer --logtostderr --force_master --http_endpoint=localhost:8190 -rpc_endpoint=localhost:8191 --batch_size=1000 --sequencer_guard_window=0 --sequencer_interval=200ms 62 | ``` 63 | 64 | ## Build Rekor Server 65 | 66 | ``` 67 | cd $GOPATH/src/github.com/sigstore/rekor/cmd/server 68 | go build -v -o rekor-server 69 | cp rekor-server /usr/local/bin/ 70 | ``` 71 | 72 | ## Start the rekor server 73 | 74 | ``` 75 | rekor-server serve 76 | 2020-09-12T16:32:22.705+0100 INFO cmd/root.go:87 Using config file: /Users/lukehinds/go/src/github.com/sigstore/rekor-server/rekor-server.yaml 77 | 2020-09-12T16:32:22.705+0100 INFO app/server.go:55 Starting server... 78 | 2020-09-12T16:32:22.705+0100 INFO app/server.go:61 Listening on 127.0.0.1:3000 79 | ``` 80 | -------------------------------------------------------------------------------- /content/docs/images/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/content/docs/images/arch.png -------------------------------------------------------------------------------- /content/docs/images/lf_logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /content/docs/images/merkle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/content/docs/images/merkle.png -------------------------------------------------------------------------------- /content/docs/images/ssc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/content/docs/images/ssc.png -------------------------------------------------------------------------------- /content/docs/images/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/content/docs/images/tree.png -------------------------------------------------------------------------------- /content/docs/rekor_directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Rekor Directory" 3 | date: 2021-01-12T13:46:19Z 4 | draft: false 5 | section: single 6 | type: page 7 | --- 8 | 9 | A list of current public instances of rekor 10 | 11 | | Server | Purpose | 12 | | -------------------------------------------------------------------- | ------- | 13 | | [https://rekor.sigstore.dev/api/v1/log](https://rekor.sigstore.dev/api/v1/log) | Sandbox | 14 | 15 | - Note: servers listed as 'Sandbox' do not guarantee data persistence at presence. Only production systems provide those guarantees 16 | -------------------------------------------------------------------------------- /content/events/cosign-1-0-launch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Cosign 1.0 released 3 | pubDate: 2021-07-18 4 | entryTag: release 5 | link: https://blog.sigstore.dev/cosign-1-0-e82f006f7bc4 6 | --- 7 | cddcddd 8 | -------------------------------------------------------------------------------- /content/events/cosign-2-0-launch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Cosign 2.0 released 3 | pubDate: 2023-02-23 4 | entryTag: release 5 | link: https://blog.sigstore.dev/cosign-2-0-released/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/github.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Github Actions Integration With Sigstore 3 | pubDate: 2021-12-06 4 | entryTag: event 5 | link: https://github.blog/2021-12-06-safeguard-container-signing-capability-actions/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/jpmorgan-sigstore.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: JPMorgan’s Global CISO urges use of Sigstore, Alpha-Omega in open source security drive 3 | pubDate: 2023-10-5 4 | entryTag: news 5 | link: https://www.thestack.technology/jpmorgans-global-ciso-use-sigstore-alpha-omega/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/openssf-sigstore-blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sigstore - Simplifying Code Signing for Open Source Ecosystems 3 | pubDate: 2023-11-21 4 | entryTag: news 5 | link: https://openssf.org/blog/2023/11/21/sigstore-simplifying-code-signing-for-open-source-ecosystems/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/ossf.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sigstore Joins the OpenSSF 3 | pubDate: 2021-11-16 4 | entryTag: event 5 | link: https://blog.sigstore.dev/sigstore-the-openssf-315d09f135f2 6 | --- 7 | https://blog.sigstore.dev/sigstore-the-openssf-315d09f135f2 8 | -------------------------------------------------------------------------------- /content/events/rekor-1m.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Rekor Hits One Million Entries 3 | pubDate: 2022-01-10 4 | entryTag: event 5 | link: https://blog.sigstore.dev/celebrating-1-000-000-entries-in-rekor-1950b7c150df 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/sigstore-con-24.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SigstoreCon 24 - Software Supply Chain Event, November 12, 2024. Utah, USA 3 | pubDate: 2024-09-14 4 | entryTag: news 5 | link: https://events.linuxfoundation.org/sigstorecon-supply-chain-day/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/sigstore-featured-in-wired.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sigstore featured in Wired 3 | pubDate: 2021-06-18 4 | entryTag: article 5 | link: https://www.wired.com/story/sigstore-open-source-supply-chain-code-signing/ 6 | --- 7 | & 8 | -------------------------------------------------------------------------------- /content/events/sigstore-llvm.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sigstore Used for LLVM Releases 3 | pubDate: 2022-01-15 4 | entryTag: event 5 | link: https://apt.llvm.org/#sigstore 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/sigstore-npm-beta.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sigstore support in npm released in public beta 3 | pubDate: 2023-04-19 4 | entryTag: release 5 | link: https://blog.sigstore.dev/npm-public-beta/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/sigstore-python-1-0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: sigstore-python 1.0 released 3 | pubDate: 2023-01-14 4 | entryTag: release 5 | link: https://blog.sigstore.dev/announcing-the-1-0-release-of-sigstore-python-4f5d718b468d/ 6 | --- 7 | 8 | -------------------------------------------------------------------------------- /content/events/sigstore-root-key-ceremony.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Our first Root Key ceremony! 3 | pubDate: 2021-07-22 4 | entryTag: event 5 | link: https://www.youtube.com/watch?v=GEuFsc8Zm9U 6 | --- 7 | & 8 | -------------------------------------------------------------------------------- /content/events/supplychainsecuritycon-na-sign-up.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SupplyChainSecurityCon NA - sign up 3 | pubDate: 2021-10-11 4 | entryTag: event 5 | link: https://events.linuxfoundation.org/supplychainsecuritycon-north-america/program/schedule/ 6 | --- 7 | 8 | 9 | yes 10 | -------------------------------------------------------------------------------- /content/events/white-house.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sigstore Discussed At White House 3 | pubDate: 2022-01-18 4 | entryTag: event 5 | link: https://thenewstack.io/open-source-security-at-the-white-house/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/events/windriver-sigstore.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Wind River Further Expands VxWorks RTOS Containers Leadership with Cosign Support 3 | pubDate: 2023-11-01 4 | entryTag: news 5 | link: https://www.businesswire.com/news/home/20231101614010/en/ 6 | --- 7 | -------------------------------------------------------------------------------- /content/faq/faqs.json: -------------------------------------------------------------------------------- 1 | { 2 | "faq": [ 3 | { 4 | "question": "What can I sign and store?", 5 | "answer": "Sigstore tooling supports signing any artifacts, such as files or containers. Rekor supports many file formats, such as in-toto attestations, JARs, RPMs, or Alpine images. Sigstore is also actively being integrated with package repositories to ease the adoption of signing for their communities." 6 | }, 7 | { 8 | "question": "What's the current status?", 9 | "answer": "Sigstore announced general availability (GA) for the Rekor transparency log and Fulcio certificate authority public benefit services in October 2022. Cosign, one of the Sigstore clients, had its v2.0 release in February 2023, and other Sigstore clients, including sigstore-js and sigstore-python, have had v1.0 releases. Sigstore is actively developing client tooling for other package repositories and upstream communities." 10 | }, 11 | { 12 | "question": "How easy is it to use?", 13 | "answer": "As easy as we can make it. Signing and verifying seems like a lot of extra effort with a lot of pitfalls. Our aim is to design away the manual effort and risk of error, automating the signing into a few simple commands. Verification and signing is greatly simplified by leveraging identity-based, or keyless, workflows." 14 | }, 15 | { 16 | "question": "How do I learn more about the project?", 17 | "answer": "Read more about Sigstore at https://docs.sigstore.dev, and check out the FAQs at https://docs.sigstore.dev/about/faq/." 18 | }, 19 | { 20 | "question": "How do I get help if I have a question?", 21 | "answer": "The fastest way to get answers, ideas and feedback is on Sigstore's Slack, or post an issue on one of Sigstore's repositories." 22 | }, 23 | { 24 | "question": "How can I get involved with the project?", 25 | "answer": "The best way is to try out the technologies and let us know your thoughts! We welcome new members to the working group over on Slack, https://join.slack.com/t/sigstore/shared_invite/zt-2ub0ztl5z-PkWb_Ldwef5d6nb~oryaTA. You can also follow us on Twitter at @projectsigstore or the blog, https://blog.sigstore.dev, for updates, or join the mailing list at sigstore-dev@googlegroups.com." 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /content/footer/footer.json: -------------------------------------------------------------------------------- 1 | { 2 | "footerMenu": [] 3 | } -------------------------------------------------------------------------------- /content/groups/groups.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": [ 3 | { 4 | "groupDiagram": "/img/alt_landscapelayout_overview.svg", 5 | "groupName": "Overview", 6 | "textOverview": "First, tell Sigstore to do the signing for you. Using Fulcio, Sigstore requests a certificate from our Certificate Authority (CA). This checks you are who you say you are using OpenID Connect, which looks at an identity, such as an email address, to prove you’re the author. Fulcio grants a short-lived certificate, associating a provided public key with your identity.\n\nYou don’t have to manage keys yourself, and Sigstore never obtains your private key. The public key that Cosign creates gets bound to your certificate.\n\nYour certificate then comes back to a Sigstore client, which signs an artifact. The artifact hash, signature, and certificate are uploaded to a Rekor transparency log, for public auditability of the signing event." 7 | }, 8 | { 9 | "groupDiagram": "/img/alt_landscapelayout_developers.svg", 10 | "groupName": "For developers", 11 | "textOverview": "To sign your release, an Open ID Connect token exchange is first needed to generate a certificate. It's automatic: a one-click authorization that says you are who you say you are. This certificate gets entered into the transparency log. If you’re not using Cosign’s keyless signing commands you’d still need to export your public key during this step.\n\n`rekor upload` then publishes your signature along with the artifact URL to the transparency log. Rekor verifies everything, downloads a local copy of your artifact and validates the artifact signing. The entry will be made into the log and you’ll get a URL.\n\nWhoever downloads your signed artifact can now look up the signature and URL to verify an inclusion proof, showing the unique information about that artifact proving where, when and who it came from." 12 | }, 13 | { 14 | "groupDiagram": "/img/alt_landscapelayout_overview.svg", 15 | "groupName": "For security ops", 16 | "textOverview": "Project dependencies (the relationships and links between artifacts in a software supply chain) can create a huge attack surface, one where it’s difficult to trace where each part of the software came from, when and where it was built, the authors, and if they’ve been changed.\n\nThe drive behind sigstore is to make it easier and more automatic for developers releasing open source artifacts for public use to digitally sign what they make, and for security experts to look up those artifacts in sigstore’s transparency log - a public, tamper-proof ledger of signatures.\n\nThe technologies we’ve built are free for anyone to use. They can be configured for public or private use, ready to be integrated as a solution to the problems of open source security and to safeguard against the threat of malicious code injections." 17 | }, 18 | { 19 | "groupDiagram": "/img/alt_landscapelayout_developers.svg", 20 | "groupName": "For maintainers", 21 | "textOverview": "The Rekor transparency log keeps all the signatures made by someone’s private key, and the time stamps for when they were created. It’s a way to prove that the data was in a developer’s possession and signed before this particular time. If there’s an identity, such as a key or email address, you don’t recognize, it’s a sign that the identity may have been compromised, and what’s been released might not be trustworthy.\n\nThe data available includes the artifact’s cryptographic hash, the public key or certificate, time stamp and artifact signature. It can also include an attestation with the artifact's provenance, where the artifact was built.\n\nsigstore offers these services for free for the public good, though anyone can deploy and run private instances of Rekor and Fulcio. By making sigstore free and public, it’s our aim to help you find ways to build it into security systems, to help with attestation transparency and software integrity checks." 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /content/header/header.json: -------------------------------------------------------------------------------- 1 | { 2 | "menu": [ 3 | { 4 | "name": "Community", 5 | "position": "0", 6 | "menuLink": "community" 7 | }, 8 | { 9 | "name": "How sigstore works", 10 | "position": "1", 11 | "menuLink": "how-it-works" 12 | }, 13 | { 14 | "name": "Trust and security", 15 | "position": "2", 16 | "menuLink": "trust-security" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /content/how-it-works.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: How sigstore works 3 | date: 2021-07-09T08:36:41.054Z 4 | description: How sigstore works 5 | thumbnail: /img/icon.png 6 | sections: 7 | - ctaStyle: transparentCta 8 | showSupportedBy: false 9 | text: A combination of technologies to handle signing, verification and 10 | provenance checks that respect privacy and work at scale. 11 | header: Software safety, integrated 12 | showStatsBanner: false 13 | bgColour: bg-pastel-blue 14 | textAlign: center 15 | textColour: text-purple-dark 16 | type: textBanner 17 | isScreenHeight: true 18 | - type: sigstoreDivider 19 | showSigstoreDivider: true 20 | - type: threeColumnTextGrid 21 | column1: 22 | header: Sign 23 | imageAsset: /img/howtouseit_signcode.svg 24 | text: Easy authentication and smart cryptography work in the background. Just 25 | push your code, sigstore can handle the rest. 26 | ctaText: Learn more 27 | ctaLink: https://docs.sigstore.dev/quickstart/quickstart-cosign/ 28 | isCardStyle: true 29 | bgColour: "#ddeff1" 30 | column2: 31 | header: Verify 32 | imageAsset: /img/howtouseit_verify.svg 33 | text: Transparency logs store unique identification like who created it 34 | and where it was built, so you know it hasn’t been changed when you verify. 35 | ctaText: Learn more 36 | ctaLink: https://docs.sigstore.dev/cosign/verifying/verify/ 37 | isCardStyle: true 38 | bgColour: "#ddeff1" 39 | column3: 40 | header: Monitor 41 | imageAsset: /img/howtouseit_monitor.svg 42 | text: Data stored in the logs is readily auditable, a foundation for future 43 | monitors and integrations to build into your security workflow. 44 | ctaText: Learn more 45 | ctaLink: https://docs.sigstore.dev/logging/overview 46 | isCardStyle: true 47 | bgColour: "#ddeff1" 48 | header: How can you use it? 49 | text: We’ve combined a few technologies that can be used independently, or as 50 | one single process. It’s a way for software developers to sign off on what 51 | they build, without needing to jump through hoops or know tricky security 52 | protocols. And it’s a way for anyone using those releases to verify the 53 | signatures against a tamper-proof log. 54 | - type: sigstoreDivider 55 | showSigstoreDivider: true 56 | - type: softwareBehind 57 | showSoftwareBehind: true 58 | - type: sigstoreDivider 59 | showSigstoreDivider: true 60 | - type: sigstoreEcosystem 61 | showSigstoreEcosystem: true 62 | - type: faqSection 63 | showFaqSection: true 64 | --- 65 | 66 | Hello 67 | -------------------------------------------------------------------------------- /content/setup/connect.json: -------------------------------------------------------------------------------- 1 | { 2 | "links": [ 3 | { 4 | "name": "Blog", 5 | "url": "https://blog.sigstore.dev" 6 | }, 7 | { 8 | "name": "GitHub", 9 | "url": "https://github.com/sigstore" 10 | }, 11 | { 12 | "name": "Twitter", 13 | "url": "https://twitter.com/projectsigstore" 14 | }, 15 | { 16 | "name": "Slack", 17 | "url": "https://join.slack.com/t/sigstore/shared_invite/zt-2ub0ztl5z-PkWb_Ldwef5d6nb~oryaTA" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /content/setup/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "commits": 2800, 3 | "members": 1200, 4 | "organizations": 20, 5 | "sitename": "Sigstore", 6 | "sitedescription": "sign. verify. protect. Make sure your software is what it claims to be." 7 | } -------------------------------------------------------------------------------- /content/software/software_list.json: -------------------------------------------------------------------------------- 1 | { 2 | "product": [ 3 | { 4 | "productName": "Cosign", 5 | "productOverview": "For signing and verification of artifacts and containers, with storage in an Open Container Initiative (OCI) registry, making signatures and in-toto/SLSA attestations invisible infrastructure.", 6 | "productCTALink": "https://github.com/sigstore/cosign", 7 | "productCTA": "View the repo" 8 | }, 9 | { 10 | "productName": "Rekor", 11 | "productOverview": "Append-only, auditable transparency log service, Rekor records signed metadata to a ledger that can be queried, but can’t be tampered with.\n\n\n", 12 | "productCTA": "View the repo", 13 | "productCTALink": "https://github.com/sigstore/rekor" 14 | }, 15 | { 16 | "productName": "Policy Controller", 17 | "productOverview": "Policy Controller is used to enforce policy on a cluster on verifiable supply-chain metadata from Cosign.", 18 | "productCTA": "View the repo", 19 | "productCTALink": "https://github.com/sigstore/policy-controller" 20 | }, 21 | { 22 | "productName": "OpenID Connect", 23 | "productOverview": "An identity layer that checks if you're who you say you are. It lets clients request and receive information about authenticated sessions and users.", 24 | "productCTA": "Learn more", 25 | "productCTALink": "https://openid.net/connect/" 26 | }, 27 | { 28 | "productName": "Fulcio", 29 | "productOverview": "Code-signing certificate authority, issuing short-lived certificates to an authenticated identity and publishing them to a certificate transparency log.", 30 | "productCTA": "View the repo", 31 | "productCTALink": "https://github.com/sigstore/fulcio" 32 | }, 33 | { 34 | "productName": "Trust root", 35 | "productOverview": "The foundation for trust underpinning Sigstore utilizes TUF. This repository describes this process, our keyholders, and how the root keys are protected.", 36 | "productCTA": "Sigstore's trust root", 37 | "productCTALink": "https://github.com/sigstore/root-signing" 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /content/story/dates.json: -------------------------------------------------------------------------------- 1 | { 2 | "step": [ 3 | { 4 | "date": "Now", 5 | "title": "Continuted development", 6 | "text": "Integration with SLSA and package repositories like npm, developing per-ecosystem Sigstore clients" 7 | }, 8 | { 9 | "date": "FEBRUARY 2023", 10 | "title": "Cosign 2.0 released", 11 | "text": "Leveraging identity-based signing by default, building on GA release" 12 | }, 13 | { 14 | "date": "OCTOBER 2022", 15 | "title": "General Availability for Public Good Instance", 16 | "text": "Fulcio and Rekor, hosted by the Sigstore community, offer a 99.5% uptime SLO and 24/7 pager support" 17 | }, 18 | { 19 | "date": "OCTOBER 2022", 20 | "title": "Fulcio and Rekor 1.0 released", 21 | "text": "Feature complete, stable APIs and commitment to long term support" 22 | }, 23 | { 24 | "date": "JULY 2021", 25 | "title": "Cosign 1.0 released", 26 | "text": "Includes hardware support for Yubico PIV devices, cloud KMS, SPDX and Cyclone DX SBOMs, #wasm" 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /content/story/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "header": "Story so far", 3 | "textBlock": "It’s still early days, but sigstore’s already growing up fast. We began as a collaboration between Red Hat and the Google Open Source Security Team to look at technologies for signing and verifying code, working together to make freely available, automated solutions for open source maintainers to verify the provenance of all software. And for software developers to sign releases in the first place.\n\nDeveloping with the continuous help, support and encouragement from the Linux Foundation, Red Hat, Purdue, Google and open source experts across the industry, sigstore’s become an active community collaborating to push it even further forwards and become a mainstay for the future.", 4 | "releaseDate": "**Now generally available!**" 5 | } 6 | -------------------------------------------------------------------------------- /content/testimonials/brand-testimonial.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Brand testimonial 3 | date: Wednesday July 14th, 2021 4 | thumbnail: /img/community.svg 5 | brand: GitHub 6 | --- 7 | Connaisseur is using Cosign to verify container images in Kubernetes -------------------------------------------------------------------------------- /content/trust-security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Trust & security 3 | date: 2021-07-09T15:26:53.431Z 4 | description: A description here 5 | sections: 6 | - card1: 7 | header: "Trust root: operating in the open" 8 | imageAsset: "" 9 | text: The sigstore trust root is made up of five key holders from the community, 10 | responsible for any changes to policy and rotated as we grow in the 11 | future. 12 | ctaText: See how it works 13 | ctaLink: https://github.com/sigstore/root-signing 14 | card2: 15 | header: "Security model" 16 | imageAsset: "" 17 | text: The security model details how trust is established and identity is 18 | used in signing and verification. 19 | ctaText: Learn more 20 | ctaLink: https://docs.sigstore.dev/security 21 | text: An open, accessible foundation behind the policies and protocols sigstore 22 | needs to work, grounded in an open source, distributed community. 23 | header: Our foundations of trust 24 | bgColour: bg-purple-dark 25 | textAlign: center 26 | textColour: text-white 27 | type: textBannerWithcards 28 | isScreenHeight: true 29 | - type: threeColumnTextGrid 30 | column1: 31 | github: https://github.com/lukehinds 32 | ctaLink: "" 33 | socialLinks: true 34 | subHeader: CTO, Stacklok 35 | text: sigstore is Luke’s brainchild. Luke is focused on the Root CA and 36 | transparency logs. 37 | header: Luke Hinds 38 | twitter: https://twitter.com/decodebytes 39 | imageAsset: "" 40 | isCardStyle: false 41 | ctaText: "" 42 | column2: 43 | header: Bob Callaway 44 | subHeader: Tech Lead & Manager, Google Open Source Security Team 45 | github: https://github.com/bobcallaway 46 | twitter: https://twitter.com/rdcallaw 47 | text: Bob focuses on the transparency logs, certificate authority, and OSS 48 | ecosystem engagement. 49 | isCardStyle: false 50 | socialLinks: true 51 | imageAsset: "" 52 | ctaText: "" 53 | ctaLink: "" 54 | column3: 55 | header: Priya Wadhwa 56 | subHeader: Software Engineer, Chainguard 57 | github: https://github.com/priyawadhwa 58 | twitter: https://twitter.com/priyawadhwa16 59 | text: Priya is a maintainer on sigstore and its infrastructure. 60 | isCardStyle: false 61 | socialLinks: true 62 | imageAsset: "" 63 | ctaText: "" 64 | ctaLink: "" 65 | subHeader: Technical Steering Committee 66 | - type: twoColumnTextGrid 67 | column1: 68 | header: Santiago Torres-Arias 69 | subHeader: Assistant Professor, Purdue University 70 | github: https://github.com/SantiagoTorres 71 | twitter: https://twitter.com/TorresAriasS 72 | text: Santiago's research focuses on securing the software development life-cycle. 73 | isCardStyle: false 74 | socialLinks: true 75 | imageAsset: "" 76 | ctaText: "" 77 | ctaLink: "" 78 | column2: 79 | header: Trevor Rosen 80 | subHeader: Engineering Manager, GitHub 81 | github: https://github.com/trevrosen 82 | twitter: "" 83 | text: Trevor leads the Package Security Engineering team at GitHub. 84 | isCardStyle: false 85 | socialLinks: true 86 | imageAsset: "" 87 | ctaText: "" 88 | ctaLink: "" 89 | --- 90 | 91 | Body text 92 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "~/*": ["./*"], 6 | "@/*": ["./*"], 7 | "~~/*": ["./*"], 8 | "@@/*": ["./*"] 9 | } 10 | }, 11 | "exclude": ["node_modules", ".nuxt", "dist"] 12 | } 13 | -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- 1 | 2 | 23 | 24 | 121 | -------------------------------------------------------------------------------- /modules/Footer/Footer.js: -------------------------------------------------------------------------------- 1 | import Navigation from "@/modules/Navigation/Navigation.vue" 2 | import Logo from "@/assets/icons/logo.svg?inline" 3 | export default { 4 | 5 | components: { 6 | Navigation, 7 | Logo 8 | }, 9 | data: () => ({ 10 | globalFooter: null 11 | }), 12 | 13 | computed: { 14 | 15 | }, 16 | 17 | watch: { 18 | $route() { 19 | 20 | } 21 | }, 22 | 23 | props: { 24 | navigation: Array, 25 | socialLinks: Array 26 | }, 27 | 28 | methods: { 29 | }, 30 | 31 | mounted() { 32 | } 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /modules/Footer/Footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | position: relative; 3 | } -------------------------------------------------------------------------------- /modules/Footer/Footer.vue: -------------------------------------------------------------------------------- 1 | 16 | 23 | -------------------------------------------------------------------------------- /pages/docs/index.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /plugins/components.client.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import { Swiper as SwiperClass, Pagination, Mousewheel, Autoplay } from 'swiper/swiper.esm' 3 | import getAwesomeSwiper from 'vue-awesome-swiper/dist/exporter' 4 | SwiperClass.use([Pagination, Mousewheel, Autoplay]) 5 | Vue.use(getAwesomeSwiper(SwiperClass)) 6 | 7 | 8 | const config = { 9 | rootMargin: '0px', 10 | threshold: [.2, .6] 11 | }; 12 | 13 | const animateOnScrollObserver = new IntersectionObserver(function (entries, animateOnScrollObserver) { 14 | entries.forEach(entry => { 15 | if (entry.isIntersecting) { 16 | if (entry.intersectionRatio > 0.1) { 17 | // entry.target.classList.add('enter') 18 | const headerEl = document.querySelector('header'); 19 | // intersection ratio bigger than 90% 20 | // -> set header according to target 21 | entry.target.classList.add('enter') 22 | animateOnScrollObserver.unobserve(entry.target) 23 | const sectionText = entry.target.closest('section').dataset.headerText; 24 | headerEl.classList.toggle(sectionText); 25 | 26 | if (entry.target.getBoundingClientRect().top < 0 ) { 27 | animateOnScrollObserver.unobserve(entry.target) 28 | } 29 | } 30 | } 31 | }) 32 | }, config); 33 | 34 | Vue.directive('animate-on-scroll', { 35 | bind: el => { 36 | el.classList.add('before-enter') 37 | animateOnScrollObserver.observe(el) 38 | } 39 | }) 40 | 41 | 42 | // register widget here 43 | // window.CMS.registerWidget("color", ColorControl, ColorPreview); 44 | -------------------------------------------------------------------------------- /static/.well-known/microsoft-identity-association.json: -------------------------------------------------------------------------------- 1 | { 2 | "associatedApplications": [ 3 | { 4 | "applicationId": "70db2281-5fa9-4ebb-a4f9-09db59ef71ef" 5 | }, 6 | { 7 | "applicationId": "7b7b4697-8fae-44f6-95ff-e9d5f9c1108a" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /static/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /static/admin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Content Manager 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/favicon-16x16.png -------------------------------------------------------------------------------- /static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/favicon-32x32.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/favicon.ico -------------------------------------------------------------------------------- /static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/icon.png -------------------------------------------------------------------------------- /static/img/bleepingcomputer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/bleepingcomputer.png -------------------------------------------------------------------------------- /static/img/cisco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/cisco.png -------------------------------------------------------------------------------- /static/img/github-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/github-icon.png -------------------------------------------------------------------------------- /static/img/github-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/img/github-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /static/img/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/google.png -------------------------------------------------------------------------------- /static/img/googlelogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/googlelogo.png -------------------------------------------------------------------------------- /static/img/howtouseit_monitor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/img/hpe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/hpe.png -------------------------------------------------------------------------------- /static/img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/icon.png -------------------------------------------------------------------------------- /static/img/keys.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /static/img/kpack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/kpack.png -------------------------------------------------------------------------------- /static/img/ledger.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/img/linuxfoundationlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/linuxfoundationlogo.png -------------------------------------------------------------------------------- /static/img/mail_24px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/monitor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/img/phone_illustration_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/phone_illustration_new.png -------------------------------------------------------------------------------- /static/img/png_trial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/png_trial.png -------------------------------------------------------------------------------- /static/img/pressandevents.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/img/purdueunilogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/purdueunilogo.png -------------------------------------------------------------------------------- /static/img/redhat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/redhat.png -------------------------------------------------------------------------------- /static/img/redhatlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/redhatlogo.png -------------------------------------------------------------------------------- /static/img/screenshot-2021-08-17-at-12.43.02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshot-2021-08-17-at-12.43.02.png -------------------------------------------------------------------------------- /static/img/screenshot-2021-08-17-at-12.43.38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshot-2021-08-17-at-12.43.38.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.44.05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.44.05.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.44.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.44.20.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.47.04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.47.04.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.48.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.48.16.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.49.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.49.12.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.49.40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.49.40.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot 2021-08-17 at 12.50.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot 2021-08-17 at 12.50.15.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.43.02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.43.02.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.43.38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.43.38.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.44.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.44.31.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.44.44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.44.44.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.45.43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.45.43.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.46.06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.46.06.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.46.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.46.21.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.46.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.46.32.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.47.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.47.20.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.47.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.47.32.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.47.56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.47.56.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.48.58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.48.58.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.50.04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.50.04.png -------------------------------------------------------------------------------- /static/img/screenshots/Screenshot-2021-08-17-at-12.55.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/Screenshot-2021-08-17-at-12.55.18.png -------------------------------------------------------------------------------- /static/img/screenshots/case-studies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/case-studies.png -------------------------------------------------------------------------------- /static/img/screenshots/news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/news.png -------------------------------------------------------------------------------- /static/img/screenshots/plans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/screenshots/plans.png -------------------------------------------------------------------------------- /static/img/sigstore_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/sigstore_logo.png -------------------------------------------------------------------------------- /static/img/slack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/img/stacklok-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/stacklok-icon.png -------------------------------------------------------------------------------- /static/img/stacklok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/stacklok.png -------------------------------------------------------------------------------- /static/img/stories.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/img/vmware.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/vmware.png -------------------------------------------------------------------------------- /static/img/vuepresslogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/vuepresslogo.png -------------------------------------------------------------------------------- /static/img/wired.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/img/wired.png -------------------------------------------------------------------------------- /static/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/mstile-150x150.png -------------------------------------------------------------------------------- /static/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | } 10 | ], 11 | "theme_color": "#ffffff", 12 | "background_color": "#ffffff", 13 | "display": "standalone" 14 | } 15 | -------------------------------------------------------------------------------- /static/swagger/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/swagger/favicon-16x16.png -------------------------------------------------------------------------------- /static/swagger/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sigstore/sigstore-website/d1e2d52c2bede023e673697b9ad0d5602763d53e/static/swagger/favicon-32x32.png -------------------------------------------------------------------------------- /static/swagger/index.css: -------------------------------------------------------------------------------- 1 | html { 2 | box-sizing: border-box; 3 | overflow: -moz-scrollbars-vertical; 4 | overflow-y: scroll; 5 | } 6 | 7 | *, 8 | *:before, 9 | *:after { 10 | box-sizing: inherit; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | background: #fafafa; 16 | } 17 | -------------------------------------------------------------------------------- /static/swagger/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Swagger UI 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /static/swagger/oauth2-redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Swagger UI: OAuth2 Redirect 5 | 6 | 7 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /static/swagger/swagger-initializer.js: -------------------------------------------------------------------------------- 1 | window.onload = function() { 2 | // 3 | const HTTPSOnly = function() { 4 | return { 5 | components: { 6 | schemes: function() { 7 | return null 8 | } 9 | } 10 | } 11 | } 12 | 13 | // the following lines will be replaced by docker/configurator, when it runs in a docker-container 14 | window.ui = SwaggerUIBundle({ 15 | urls: [ 16 | { 17 | "name": "Rekor", 18 | "url": "https://raw.githubusercontent.com/sigstore/rekor/main/openapi.yaml" 19 | }, 20 | { 21 | "name":"Fulcio", 22 | "url": "https://raw.githubusercontent.com/sigstore/fulcio/main/fulcio.swagger.json" 23 | }, 24 | { 25 | "name":"Fulcio - Legacy API", 26 | "url": "https://raw.githubusercontent.com/sigstore/fulcio/main/fulcio_legacy.swagger.json" 27 | } 28 | ], 29 | dom_id: '#swagger-ui', 30 | deepLinking: true, 31 | presets: [ 32 | SwaggerUIBundle.presets.apis, 33 | SwaggerUIStandalonePreset 34 | ], 35 | plugins: [ 36 | SwaggerUIBundle.plugins.DownloadUrl, 37 | HTTPSOnly 38 | ], 39 | layout: "StandaloneLayout" 40 | }); 41 | 42 | // 43 | }; 44 | -------------------------------------------------------------------------------- /store/README.md: -------------------------------------------------------------------------------- 1 | # STORE 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your Vuex Store files. 6 | Vuex Store option is implemented in the Nuxt.js framework. 7 | 8 | Creating a file in this directory automatically activates the option in the framework. 9 | 10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). 11 | -------------------------------------------------------------------------------- /store/getters.js: -------------------------------------------------------------------------------- 1 | const getters = { 2 | getBG: state => { 3 | return state.bgColour 4 | } 5 | } 6 | 7 | export default getters -------------------------------------------------------------------------------- /store/index.js: -------------------------------------------------------------------------------- 1 | // import Vue from "vue" 2 | // import Vuex from "vuex" 3 | // import state from "./state" 4 | // import getters from "./getters" 5 | 6 | // Vue.use(Vuex) 7 | 8 | // const requireContext = require.context("./modules", false, /.*\.js$/) 9 | 10 | // const modules = requireContext 11 | // .keys() 12 | // .map(file => [file.replace(/(^.\/)|(\.js$)/g, ""), requireContext(file)]) 13 | // .reduce((modules, [name, module]) => { 14 | // if (module.namespaced === undefined) { 15 | // module.namespaced = true 16 | // } 17 | 18 | // return { ...modules, [name]: module } 19 | // }, {}) 20 | 21 | // const store = new Vuex.Store({ 22 | // state, 23 | // // getters, 24 | // // modules 25 | // }) 26 | 27 | // export default store -------------------------------------------------------------------------------- /store/mutation-types.js: -------------------------------------------------------------------------------- 1 | // setup.js 2 | export const GET_BG_COLOUR = "GET_BG_COLOUR"; 3 | export const GET_TEXT_COLOUR = "GET_TEXT_COLOUR"; 4 | -------------------------------------------------------------------------------- /store/settings.js: -------------------------------------------------------------------------------- 1 | import * as types from "./mutation-types" 2 | 3 | // state 4 | export const state = () => ({ 5 | bgColour: null, 6 | textColour: null 7 | }) 8 | 9 | // getters 10 | export const getters = { 11 | bg: state => state.bgColour, 12 | textColor: state => state.textColour 13 | } 14 | 15 | // mutations 16 | export const mutations = { 17 | [types.GET_BG_COLOUR](state, { bg }) { 18 | state.bgColour = bg 19 | }, 20 | [types.GET_TEXT_COLOUR](state, { textColour }) { 21 | state.textColour = textColour 22 | } 23 | } 24 | 25 | // actions 26 | export const actions = { 27 | setHeaderColour({ commit },payload) { 28 | commit(types.GET_BG_COLOUR, { bg: payload.bg }) 29 | commit(types.GET_TEXT_COLOUR, { textColour: payload.text }) 30 | } 31 | } -------------------------------------------------------------------------------- /store/state.js: -------------------------------------------------------------------------------- 1 | const state = { 2 | bgColour: null 3 | }; 4 | 5 | export default state -------------------------------------------------------------------------------- /stylelintconfig.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | 'stylelint-config-standard', 4 | 'stylelint-config-prettier' 5 | ], 6 | // add your custom config here 7 | // https://stylelint.io/user-guide/configuration 8 | // stylelint.config.js 9 | // other stuff 10 | rules: { 11 | 'at-rule-no-unknown': null 12 | } 13 | } 14 | --------------------------------------------------------------------------------