Display and text. 500 for headlines at −5% tracking, 400 for reading.
Satoshi Ltd. · Brand book · v3 “Indivisible” · October 2026
Indivisible.
The identity of a small studio that builds software you control — reduced, like everything we make, to the smallest unit we can stand behind.
00 / Shift
What changes in v3.
The products now live on their own sites, so the studio site no longer has to sell them. It can finally talk about the studio: what we believe, how we work and what we're after. The brand gets quieter, more precise and closer to the product family.
Keep
- The yellow, #FFC431 — years of equity.
- The square as the mark.
- The dot-matrix wordmark, redrawn on a grid.
- Hong Kong, said plainly.
- The six principles, rewritten so every one is true.
Retire
- Product showcases and case-study pages.
- Terminal cosplay: “$ about”, “./book_a_call”.
- Unverifiable metrics: “UPTIME 100%”, “FREEDOM: ON”.
- “Military-grade”, “Enter the future”.
- “Open Source” as a blanket claim.
- Google Fonts, CDN scripts, particles, Matrix rain.
Add
- The Sat: one square, one meaning.
- A drawn dot alphabet instead of a display font.
- Geist and Geist Mono: engineered like the wordmark, shared with alpi and Môney.
- Scroll-driven 3D built from units.
- A story: drift, unit, practice, rules, aim, engage.
01 / Essence
Who we are, in six lines.
Every page, deck and README starts from these six lines. If a sentence doesn't serve one of them, cut it.
- Who
- A small studio in Hong Kong that designs, builds and ships software you control. For the teams who hire us, and in our own products: alpi, Arca, Môney and split/Pass.
- Belief
- Software should answer to the person using it.
- Values
- Privacy. Autonomy. Sovereignty over your own data. The thread through every product. Said as values, never as technical promises we can't show.
- Idea
- Indivisible. A satoshi is the smallest unit of bitcoin: it can't be split and needs no one's permission. We reduce software to the smallest thing you have to trust — hardware you control.
- Aim
- Make private the default, not the premium.
- Line
- Software that answers to you. The sign-off, shared with every product footer: “No telemetry.”
One satoshi is 0.00000001 bitcoin. Eight places in, one unit lit. That last digit is the whole brand: the smallest part that still counts, and that nobody can take a cut of.
02 / Mark
A word drawn in units. One of them is yellow.
The wordmark is drawn on a seven-row grid of square units with an 18% gap, not set in a typeface. The dot of the i is the Sat — the only yellow unit, ever. Clear space is two units on every side; the minimum width is 72 px on screen or 18 mm in print.
- Don'tSet “satoshi” in a typeface. The wordmark is an asset, not text.
- Don'tRound the units or change the gap.
- Don'tRecolour the Sat, or light a second unit in the wordmark.
- Don'tAdd gradients, glows, shadows or outlines to the mark.
03 / Colour
Night, bone and one unit of yellow.
A warm black ground, a warm white voice and a yellow that only signals. Yellow is never a background for long copy and never body text on paper — on light grounds its voice is Sat ink.
#0B0A08 · --nightGround#14120E · --carbonRaised surfaces#2A261F · --ruleLines, grids#8C8577 · --smokeMuted text · 5.4:1 on night#B9B2A4 · --ashSecondary text · 9.4:1#F3EFE6 · --boneText on night · 17.3:1#FFC431 · --satSignal · 12.4:1 on night#FFE29A · --sat-softHover, highlight#87620E · --sat-inkYellow's voice on paper · 4.8:1Night 72%Bone 18%Rule & smoke 8%Sat 2%
Each product owns its accent. The studio owns only the Sat.
04 / Type
Geist, Geist Mono and a drawn alphabet.
Geist is a rational neo-grotesque: straight terminals and an engineered rhythm that matches the unit grid of the wordmark, while staying calm in long copy. Geist Mono already labels alpi and Môney, so the family reads as one house. Display type is set tight and large; labels are mono, uppercase and wide. Both files are self-hosted variable woff2, about 52 KB in total.
Kickers, labels, data, code. Uppercase at +0.16em for kickers.
Drawn, not typed: the wordmark and hero numerals. Defined in assets/js/glyphs.js.
05 / Voice
Plain, specific, true.
Short declarative sentences. “We” for the studio, “you” for the reader. Numbers only when they're true. Name the algorithm, the licence and the platform instead of reaching for an adjective. Products own the “Your X. Your Y.” headline; the studio talks about practice, not possession.
| Before | After |
|---|---|
| Code is Freedom. Privacy is Power. | Software that answers to you. |
| Private AI. On-device AI. | Self-hosted agents, with the model provider and the keys you choose. |
| No server in the middle. | No Satoshi server in the middle. |
| Military-grade security. | Argon2id and AES-256-GCM, on your device. |
| Open Source (every product) | Readable source. Licences differ, and we name them. |
| UPTIME: 100% · TRACKERS: 0 · FREEDOM: ON | No telemetry. No third-party requests. |
| ./book_a_call ▸ | Start a brief |
| // now accepting q3 engagements | A handful of engagements a year. |
- Never claim“Local AI” or “on-device AI” unless the model itself runs on the device.
- Never claim“End-to-end encrypted” unless it is. Arca, for one, says it isn't.
- Never claim“Open source” for a product whose licence isn't one.
- Never claimAudits, certifications or pentests that didn't happen: ISO, FIPS, “military-grade”, “unhackable”.
06 / Rules
Six rules, each one checkable.
Each rule describes something a reader can verify in our code or in a network log, across every product.
- No account
Our software works without an account with us.
- No telemetry
Our software ships no analytics, crash-reporting or tracking SDKs. This page included.
- No middleman
No Satoshi server sits between you and your data.
- Exportable
Your data lives in files you hold. Export is a feature, not a support ticket.
- Readable source
Our code is public to read and review. Where a product has a licence, we name it.
- Your keys
Passphrases, device keys and provider keys stay with you.
07 / Motion & camera
Many units, one Sat.
The site moves the way the idea does: scattered things become whole, and every story ends on a single yellow unit. The camera is not a spectator — it goes inside. Text stays in the DOM, motion stays optional and nothing loads from anyone else.
- Built from units
Every object is made of square blocks. One of them is always the Sat.
- The camera enters
It flies through, into and between the units. Never a turntable.
- Text lives in the world
Words are placed on objects and on the floor, and build word by word as the camera arrives.
- Many to one
Motion converges. The last frame is the symbol.
- Always somewhere
Scroll snaps between stations. Every stop is a readable frame — never a moment of “where am I?”.
- Slow light
Long ease-outs, warm light from the core, no bounce, no shake.
08 / Scene
The monolith, shot by shot.
One object carries the whole site: 192 dark units with the Sat hidden at their core. The scroll is a single camera move through seven chapters, and the text lives in the world — on blocks, on strata, on pillars and on the floor — so the camera reads it rather than scrolling past it.
- 00 · HeroThe headline stands in front of the monolith, set in Geist. On the first scroll its words break apart in depth and the camera flies through them.
- 01 · DriftThe monolith scatters into distant clusters — other people's servers. Struck-through prompts float among them as the camera rises.
- 02 · UnitThe camera dives through an opening into the chamber. The unit's text waits inside, beside the Sat.
- 03 · PracticeOut again, rising like a lift past four strata. Each service is set on the face of its stratum, which lights as you read it.
- 04 · RulesAn orbit around six pillars at eye level. Each rule stands on its pillar and lights it.
- 05 · AimA crane up over a foundation of units. The aim and the quote lie on the ground.
- 06 · EngageStraight down: the brief, written on the floor beside a yellow square. The symbol, earned.
09 / Applications
The same unit, off the screen.
Email and ink follow the same rules as the site: the dot wordmark, Geist Mono for labels and one Sat. Stamps are a single ink with all text outlined, ready for a stamp maker.
Your Name
Founder · Satoshi Ltd.
hello@satoshi-ltd.com · satoshi-ltd.com
Hong Kong SAR · Software that answers to you
- StampsUse the SVGs as they are: one ink, text already outlined. Black ink on paper; never yellow.
- EmailNo tracking pixels, no remote fonts, no banners. The logo is a plain image on satoshi-ltd.com.
- Not a company chopThese are brand stamps. A legal company chop must follow the registered name exactly.
10 / Assets
Everything, in the repo.
SVGs are generated from assets/js/glyphs.js by
node tools/build.mjs, which also bundles the site. Tokens live in
assets/brand.css.
- Wordmark · nightwordmark-paper.svg
- Wordmark · paperwordmark-ink.svg
- Wordmark · one colourwordmark-mono.svg
- Wordmark · one colour, lightwordmark-mono-paper.svg
- The Satsymbol.svg
- App iconapp-icon.svg
- Faviconfavicon.svg
- Construction gridconstruction.svg
- One sat · numeralone-sat-*.svg
- Social cardog-image.png · 1200×630
- Tokens & basebrand.css
- Email signaturedesign/email · generator
- Stampsassets/brand/stamp/*.svg · outlined
- Dot alphabetassets/js/glyphs.js