diff --git a/.github/workflows/build-cli.yml b/.github/workflows/build-cli.yml
index acf0ca387..93056cc47 100644
--- a/.github/workflows/build-cli.yml
+++ b/.github/workflows/build-cli.yml
@@ -147,3 +147,38 @@ jobs:
name: bws-macos-universal-${{ env._PACKAGE_VERSION }}.zip
path: ./bws-macos-universal-${{ env._PACKAGE_VERSION }}.zip
if-no-files-found: error
+
+ third_party:
+ name: Generate THIRDPARTY.html
+ runs-on: ubuntu-22.04
+ needs:
+ - setup
+ steps:
+ - name: Checkout repo
+ uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
+
+ - name: Install rust
+ uses: dtolnay/rust-toolchain@0e66bd3e6b38ec0ad5312288c83e47c143e6b09e # stable
+ with:
+ toolchain: stable
+
+ - name: Cache cargo registry
+ uses: Swatinem/rust-cache@dd05243424bd5c0e585e4b55eb2d7615cdd32f1f # v2.5.1
+ with:
+ key: cargo-cli-about
+
+ - name: Install cargo-about
+ run: cargo install cargo-about
+
+ - name: Generate THIRDPARTY.html
+ working-directory: ./crates/bws
+ run: |
+ cargo about generate ../../about.hbs > THIRDPARTY.html
+ sed -i.bak 's/\$NAME\$/Bitwarden Secrets Manager CLI/g' THIRDPARTY.html
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
+ with:
+ name: THIRDPARTY.html
+ path: ./crates/bws/THIRDPARTY.html
+ if-no-files-found: error
diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml
index f12f103e4..1f0777703 100644
--- a/.github/workflows/release-cli.yml
+++ b/.github/workflows/release-cli.yml
@@ -93,6 +93,7 @@ jobs:
packages/bws-aarch64-pc-windows-msvc-${{ env.PKG_VERSION }}.zip,
packages/bws-x86_64-unknown-linux-gnu-${{ env.PKG_VERSION }}.zip,
packages/bws-aarch64-unknown-linux-gnu-${{ env.PKG_VERSION }}.zip,
+ packages/THIRDPARTY.html,
packages/bws-sha256-checksums-${{ env.PKG_VERSION }}.txt"
commit: ${{ github.sha }}
tag: bws-v${{ env.PKG_VERSION }}
diff --git a/.gitignore b/.gitignore
index 40e8c08aa..f9ed4f201 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,9 @@ bld/
node_modules/
clients/python/env/
+# Third party license
+THIRDPARTY.html
+
# Node.js addon binary file, for the current running operating system.
crates/bitwarden-napi/sdk-napi.*.node
diff --git a/.prettierignore b/.prettierignore
index 138afcc26..2006aa827 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -2,3 +2,4 @@ target
languages
schemas
/crates/bitwarden-napi/src-ts/bitwarden_client/schemas.ts
+about.hbs
diff --git a/about.hbs b/about.hbs
new file mode 100644
index 000000000..5c393e5ec
--- /dev/null
+++ b/about.hbs
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
Third Party Licenses
+
This page lists the licenses of the projects used in $NAME$.
+
+
+ Overview of licenses:
+
+ {{#each overview}}
+ - {{name}} ({{count}})
+ {{/each}}
+
+
+ All license text:
+
+ {{#each licenses}}
+ -
+
{{name}}
+ Used by:
+
+ {{text}}
+
+ {{/each}}
+
+
+
+
+
diff --git a/about.toml b/about.toml
new file mode 100644
index 000000000..714740c47
--- /dev/null
+++ b/about.toml
@@ -0,0 +1,10 @@
+accepted = [
+ "MIT",
+ "ISC",
+ "BSD-3-Clause",
+ "CC0-1.0",
+ "Apache-2.0",
+ "MPL-2.0",
+ "LGPL-3.0",
+ "Unicode-DFS-2016",
+]