No description
  • TypeScript 97.4%
  • JavaScript 0.8%
  • MDX 0.8%
  • Shell 0.3%
  • Rust 0.3%
  • Other 0.1%
Find a file
Suite Dark 5850095cf7 fix: make repo-wide lint:js green
`nx run-many --target=lint:js --all` (expensive checks on, as CI) was red on
pre-existing debt unrelated to the contacts work:

- protobuf: ignore the entirely code-generated `src/definitions/**` (@generated,
  DO NOT EDIT) — 374 style violations that would be overwritten on regen.
- relayPool: the one-shot read's `finish` closes over `timer` defined just below
  (safe — finish only runs once timer is set); keep `const`, disable the
  no-use-before-define on that single line.
- aliasLinkThunks: `!consent || consent.r` → `consent?.r` (prefer-optional-chain).
- connect/protobufLoader, connect-popup/connectPopupThunks, ward-provider/
  wardLeafCommit, suite-desktop-core/trezor-connect: drop unnecessary type
  assertions / unused import, optional-chain, sort the WardProvider import.

Repo-wide type-check (321 projects) and lint:js (324 projects) are both green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-31 16:34:02 +02:00
.github chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.husky refactor(theme): migrate dimension tokens 2026-07-23 16:39:46 +02:00
.nix chore(nix): drop unused Android SDK platforms and build-tools 2026-08-26 11:08:52 +02:00
.vscode chore(suite): git ignore vscode settings (#7544) 2023-02-07 16:03:24 +01:00
.yarn chore: update yarn 2026-08-17 18:20:24 +02:00
docker ci: update trezor-user-env to 7ad5442d8c4092e832bf0293aec63f1717412dbb 2026-08-19 14:11:44 +02:00
docs feat(suite-dark): flavour — Bitcoin-only, privacy-first branding & config 2026-08-30 15:51:48 +02:00
eslint-local-rules feat(analytics): generalize feedback events to all feedback cards 2026-08-11 00:43:37 +02:00
networks refactor(network-ethereum): own wrapped native tokens 2026-08-27 17:34:57 +02:00
packages fix: make repo-wide lint:js green 2026-08-31 16:34:02 +02:00
scripts feat(suite): [exp] linky interop + alias-link payable upgrade 2026-08-30 16:52:14 +02:00
site chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
skills docs(skills): add performance guidance as new four skills 2026-08-24 13:32:16 +02:00
stylelint-local-rules feat(suite): [exp] linky interop + alias-link payable upgrade 2026-08-30 16:52:14 +02:00
submodules chore(connect): bump trezor-common to latest master (48aefe7) 2026-08-04 13:57:46 +02:00
suite fix(test-utils): provide wardProviderFactory in the test store deps 2026-08-31 15:41:11 +02:00
suite-common fix: make repo-wide lint:js green 2026-08-31 16:34:02 +02:00
suite-native fix: resolve pre-existing type-check errors across packages for green main 2026-08-31 14:44:52 +02:00
.aiexclude chore: exclude credentials from AI assistants 2025-12-09 18:31:45 +01:00
.aiignore chore: exclude credentials from AI assistants 2025-12-09 18:31:45 +01:00
.cursorignore chore: exclude credentials from AI assistants 2025-12-09 18:31:45 +01:00
.depcheckrc.json chore: drop stale libESM references from nx and depcheck configs 2026-06-01 14:52:36 +02:00
.dockerignore feat(analytics-docs): Add badge to new events 2026-03-20 13:52:08 +01:00
.easignore chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.editorconfig chore: specify correct tab width for *.json 2025-02-11 13:33:36 +01:00
.git-blame-ignore-revs fix: git-blame 2025-11-11 14:20:50 +01:00
.git-pr-body.md feat(suite): [exp] linky interop + alias-link payable upgrade 2026-08-30 16:52:14 +02:00
.gitattributes feat(connect-data): separate new package from connect-common 2026-01-26 18:47:03 +01:00
.gitignore chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.gitmodules chore: move submodules to root 2022-03-29 17:09:51 +02:00
.madgerc feat(ci): restore madge snapshot functionality 2026-03-24 15:41:59 +01:00
.nvmrc chore: bump Node.js to 24.17.0 (June 2026 security release) 2026-06-30 08:39:03 +02:00
.nxignore chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.prettierignore chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.prettierrc fix: widen prettier tsconfig override to match all tsconfig variants 2026-05-28 14:49:25 +02:00
.stylelintrc chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.yarnrc.yml chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
.zshrc test(suite-desktop-core): cardano all account types discovery 2024-02-27 15:52:24 +01:00
AGENTS.md feat(suite-dark): flavour — Bitcoin-only, privacy-first branding & config 2026-08-30 15:51:48 +02:00
CLAUDE.md chore: created CLAUDE.md that is symlinked to AGENTS.md 2026-02-17 10:38:58 +01:00
COMMITS.md ci: add commit message check 2024-02-14 16:50:47 +01:00
env.local.example feat: add optional env var to disable transport browser ping 2026-05-25 12:35:39 +02:00
eslint.config.mjs fix(analytics-docs): Update ChangelogEntriesEditor layout and import order 2026-03-05 16:42:51 +01:00
flake.lock chore(deps): bump playwright version to 1.62.1 2026-08-21 16:27:56 +02:00
flake.nix chore(deps): bump playwright version to 1.62.1 2026-08-21 16:27:56 +02:00
flavour.config.json chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
IDE.md chore(suite): git ignore vscode settings (#7544) 2023-02-07 16:03:24 +01:00
jest.config.base.js chore(transport): switch usb test mock to ESM 2026-05-21 16:39:24 +02:00
jest.config.base.swc.js chore(transport): switch usb test mock to ESM 2026-05-21 16:39:24 +02:00
jest.config.native.js chore: bump typescript to 6.0.3 2026-06-25 21:08:01 +01:00
jest.config.swc-transform.js chore(tests): hybrid swc+babel jest transform for suite-native 2026-04-28 10:12:21 +02:00
JestCustomEnv.js chore(jest): trap unexpected console.error in tests 2026-05-26 11:13:03 +02:00
LICENSE.md chore: Prettier refactor, update, add CI check (#4950) 2022-02-17 18:15:59 +01:00
nixos-fix-binaries.sh fix(suite-desktop): nixos-fix-binaries use copy of 7za 2024-06-12 13:21:17 +02:00
nx.json chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
package.json chore(deps): preserve @swc/core caret range 2026-08-26 12:10:24 +02:00
README.md chore(suite-dark): repo setup & distribution 2026-08-30 15:48:50 +02:00
SECURITY.md chore: add SECURITY.MD 2026-08-12 17:09:54 +02:00
shell.nix chore(nix): update nodejs (24.16) and electron (42.5) 2026-07-08 11:25:55 +02:00
tsconfig.base.json chore: bump typescript to 6.0.3 2026-06-25 21:08:01 +01:00
tsconfig.lib.json chore(build): centralize library test exclusions 2026-07-30 13:16:44 +02:00
yarn.lock fix(desktop): serve WARD proofs across the connect IPC boundary 2026-08-31 09:23:52 +02:00

Suite Dark

An unofficial, Bitcoin-only, privacy-first build of Trezor Suite desktop.

Suite Dark is a fork of Trezor Suite: the full upstream source pinned at a specific commit, plus a small, readable set of commits that cut it down to Bitcoin and turn privacy on by default. No shitcoins. No tracking. Tor by default. CoinJoin enabled. Dark by default. No compromise.

Website: https://suite-dark.github.io/suite-dark/ · Desktop only.

What's different from upstream

The entire delta is a handful of single-purpose commits on top of the upstream snapshot — read them with git log <snapshot>..HEAD or on the commits page:

Commit Effect
Branding Product name / app id / URI scheme, Bitcoin-orange theme + tray icon.
Privacy — nothing phones home No Sentry / analytics / auto-updater-telemetry; message-system local-only; re-texted consent; disabled Settings analytics toggle.
Privacy defaults Tor and discreet mode on by default.
Bitcoin-only Only BTC everywhere; removes the add-account network search and the MEV protection setting.
Hide Earn / Trading / promo Removes the Earn & Trading surfaces and the dashboard promo banners.
CoinJoin Default coordinator coinjoin.kruw.io; all "discontinued" messaging removed.
Passwords Promotes the password manager to a first-class Passwords menu item.
Auto-update From this repo's continuous release (Windows/Linux; macOS via a self-signed build — experimental).
Dark theme by default Light / system still selectable in Settings.

Alternative firmware — Firmware Dark

Suite Dark has a companion project, Firmware Dark — an unofficial, Bitcoin-only build of Trezor firmware for Trezor Model T, Safe 3, Safe 5 and Safe 7. You can install it directly from Suite Dark: Settings → Device → Advanced → "Install Suite Dark firmware".

⚠️ Installing unofficial firmware wipes the device (back up your recovery seed first) and the device will permanently show an "unofficial firmware" warning. This is inherent to unsigned firmware and cannot be removed.

Build it yourself

Prereqs: Node 24, Yarn (via corepack), git.

git clone --recurse-submodules https://github.com/suite-dark/suite-dark
cd suite-dark
yarn install
yarn build:libs
yarn build:essential          # signs the bundled message-system config (dev key, no secrets)
yarn workspace @trezor/suite-desktop build:mac   # or build:linux / build:win
# → packages/suite-desktop/build-electron/SuiteDark-*

Builds are unsigned, so macOS Gatekeeper / Windows SmartScreen warn on first launch — expected for a build you verify yourself.

Download

Prebuilt desktop binaries: Releases (rolling continuous tag). Verify your download against SHA256SUMS.

Tracking upstream

Suite Dark pins an upstream snapshot (see the Import trezor-suite … commit) and carries its changes as commits on top. To move onto a newer upstream release, re-import the snapshot and rebase the Suite Dark commits onto it — the delta stays small and explicit.

Pull requests

All Suite Dark pull requests must target suite-dark/suite-dark with main as the base branch. Never open Suite Dark changes against trezor/trezor-suite; that repository is upstream source material, not this project's contribution target.

gh pr create --repo suite-dark/suite-dark --base main --head <branch>

Before creating or updating a pull request, verify its repository and base branch.

CI

.github/workflows/build.yml is a manual (workflow_dispatch) matrix build for macOS / Linux / Windows that publishes to the continuous release. pages.yml publishes site/ to GitHub Pages. (Upstream's workflows are intentionally removed.)


Suite Dark is an unofficial, community-built distribution. It is not affiliated with, endorsed by, or supported by SatoshiLabs / Trezor. "Trezor" and "Trezor Suite" are trademarks of their respective owners. Provided as-is, no warranty. Always verify what you run.