macOS Installation
Tessamark is a native macOS application compiled as a Universal 2 binary running natively on both Apple Silicon (M1, M2, M3, M4) and Intel-based Macs. It requires macOS 14.0 (Sonoma) or later.
Mac App Store
Tessamark for Mac comes from the Mac App Store. It is fully sandboxed and updates automatically via macOS.
Direct download (DMG)
Prefer not to use the App Store? Download Tessamark-<version>-universal.dmg from the download page. It is signed with a Developer ID and notarised by Apple, so macOS recognises it as coming from an identified developer.
- Open the disk image.
- Drag Tessamark to the Applications folder.
- Open Tessamark. Buy a licence key from Paddle, then enter it in Settings → Pro.
The direct download uses the same licence as every other platform. Bought Pro in the App Store on iPhone or iPad? Claim your licence key and enter it here.
Workspaces & Git: When you open a folder in Tessamark, automatic git version history begins immediately in a hidden, zero-config .git repository. You can store your workspace in iCloud Drive, Dropbox, or any directory you prefer.
iOS & iPadOS Installation
Tessamark for iOS and iPadOS provides a touch-optimized editing interface with full Apple Pencil handwriting and markup support. It requires iOS 26.0 or iPadOS 26.0 or later.
- Install from the App Store on iPhone or iPad.
- Sync your notes seamlessly across devices by keeping your workspaces in iCloud Drive.
- Purchasing Pro via In-App Purchase unlocks Pro features on all your Apple devices and can be claimed for Windows and Linux via our Store Claim page.
Windows Installation
Tessamark on Windows is built natively for 64-bit architectures (x64 and ARM64) on Windows 11 and Windows 10 (version 21H2 or later).
MSI Installer & Portable Zip
Download the installer from our Download page:
- Installer (.msi): Run
Tessamark-Setup-x64.msi for system-wide or per-user installation with start menu shortcuts.
- Portable (.zip): Extract the archive to any directory. No installation or administrator privileges required.
Every release publishes an SHA-256 checksum so you can verify download integrity:
Get-FileHash -Algorithm SHA256 Tessamark-Setup-x64.msi
Note on Windows Defender SmartScreen: During initial releases, Windows Defender SmartScreen may display an “Unknown Publisher” warning while community reputation builds. Click More info → Run anyway to continue installation.
Linux Installation
Tessamark ships a signed apt package for Raspberry Pi OS (arm64), an AppImage for other x86_64 distributions, and a pacman package for Arch Linux (x86_64). All three are signed with the same key, so you can check what you downloaded.
Raspberry Pi OS (arm64), through apt
Add the repository once. After that, apt upgrade keeps Tessamark up to date, and apt checks the repository's signature every time. If apt update ever reports an expired or unknown key, run the curl line again to fetch the current keyring.
sudo install -d -m 755 /etc/apt/keyrings
sudo curl -fsSL https://apt.tessamark.com/tessamark-archive-keyring.gpg -o /etc/apt/keyrings/tessamark-archive-keyring.gpg
sudo tee /etc/apt/sources.list.d/tessamark.sources >/dev/null <<'EOF'
Types: deb
URIs: https://apt.tessamark.com
Suites: stable
Components: main
Architectures: arm64
Signed-By: /etc/apt/keyrings/tessamark-archive-keyring.gpg
EOF
sudo apt update
sudo apt install tessamark
Universal AppImage (x86_64)
Download the AppImage together with its signature file (the same name ending in .asc), then check it against the same public key before you run it. Replace <version> with the version number shown on the download page.
curl -fsSL -OJ https://tessamark.com/dl/latest/linux-appimage
curl -fsSL -O https://tessamark.com/dl/<version>/Tessamark-<version>-x86_64.AppImage.asc
curl -fsSL https://apt.tessamark.com/tessamark.asc | gpg --import
gpg --verify Tessamark-<version>-x86_64.AppImage.asc Tessamark-<version>-x86_64.AppImage
chmod +x Tessamark-<version>-x86_64.AppImage
./Tessamark-<version>-x86_64.AppImage
gpg should report a good signature. A "BAD signature" means the file is not the one we published: delete it and download it again.
Arch Linux (x86_64)
Download the package together with its signature file (the same name ending in .sig), check it against the same public key, then install it with pacman. Replace <version> with the version number shown on the download page.
curl -fsSL -OJ https://tessamark.com/dl/latest/linux-arch
curl -fsSL -O https://tessamark.com/dl/<version>/tessamark-<version>-1-x86_64.pkg.tar.zst.sig
curl -fsSL https://apt.tessamark.com/tessamark.asc | gpg --import
gpg --verify tessamark-<version>-1-x86_64.pkg.tar.zst.sig tessamark-<version>-1-x86_64.pkg.tar.zst
sudo pacman -U tessamark-<version>-1-x86_64.pkg.tar.zst
pacman installs GTK 4 and WebKitGTK 6 for you. This file does not update itself: download the new version from this page when one is released.
All three methods use the same Tessamark Release key. Its fingerprint is 198A B179 40A7 1110 FB62 F3A1 4E2D DDBC EB89 1BC8. gpg warns that the key is not certified by a trusted signature; check that the fingerprint it prints matches this one.
System Requirements
Tessamark needs GTK 4 and WebKitGTK 6 (libgtk-4-1, libwebkitgtk-6.0-4 on Debian/Ubuntu; gtk4, webkitgtk-6.0 on Arch Linux); the apt and pacman packages install them for you as dependencies, and the AppImage carries what it needs. The editor runs inside WebKit's sandbox, which needs unprivileged user namespaces. If your system blocks them, Tessamark says so when it starts and does not run without the sandbox.
Android (In Active Development)
A native Kotlin and Jetpack Compose version for Android phones, foldable devices, and tablets is currently in active development. Check the Changelog for progress and release announcements.
AI Assistant: Privacy Architecture
Tessamark's AI assistant is strictly Bring Your Own Key (BYOK) or Local-First. Our architecture differs fundamentally from typical cloud-hosted editors:
- Zero Telemetry & No Intermediaries: Tessamark servers never receive, proxy, or log your prompts or documents. The Tessamark backend has zero AI endpoints and holds no user credentials.
- Direct Connections: All AI requests are transmitted directly from your computer to the AI provider's API (or to your local loopback server on
localhost).
- Secure Credential Storage: Your API keys are encrypted in your operating system's native keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service).
- Keyless Local Inference: You can run completely offline with zero external network access by pairing Tessamark with local servers like Camelid, Ollama, or LM Studio.
Camelid: Shipped Default Local AI
Tessamark ships configured to use Camelid as its out-of-the-box local AI provider. Camelid is a lightweight, keyless local model runner that operates entirely on your device.
Zero Setup, Zero API Key: Camelid requires no account, no credit card, and no API key. When running, Tessamark connects to it automatically over loopback.
Default Settings
- Provider:
Camelid (Local)
- Endpoint:
http://127.0.0.1:8181/v1/chat/completions
- Default Model:
Llama-3.2-3B-Instruct-Q8_0
To use Camelid, launch your local Camelid server. In Tessamark, open Settings → AI Assistant. Ensure the provider is set to Camelid (Local), and begin interacting with your notes.
Ollama (Local Models)
If you already use Ollama, Tessamark integrates with it seamlessly:
- Install Ollama and pull your preferred model from a terminal:
ollama run llama3.2
# or for reasoning:
ollama run deepseek-r1:8b
- In Tessamark, open Settings → AI Assistant.
- Select Ollama (Local) from the presets dropdown.
- Verify the endpoint is set to
http://127.0.0.1:11434/v1/chat/completions and the model name matches the model you pulled (e.g. llama3.2).
- Click Test Connection. No API key is required.
LM Studio (Local Models)
To use LM Studio with GPU acceleration:
- Open LM Studio, load your preferred GGUF model, and click Start Server (default port
1234).
- In Tessamark, open Settings → AI Assistant.
- Select LM Studio (Local).
- Endpoint:
http://127.0.0.1:1234/v1/chat/completions. No API key required.
Cloud Providers: Bring Your Own Key
You can also use high-capacity frontier models by supplying your own API key directly to Tessamark.
Anthropic Claude (via OpenRouter or Direct)
Connect Claude 3.7 Sonnet, Claude 3.5 Haiku, or Claude 3 Opus. Obtain an API key from OpenRouter or Anthropic Console. Paste your key into Settings → AI Assistant.
OpenAI
Obtain an API key from platform.openai.com. In Tessamark, select OpenAI and choose between gpt-4o, gpt-4o-mini, or reasoning models like o1.
Google Gemini & xAI Grok
Tessamark supports Google Gemini (via Google AI Studio, model gemini-2.0-flash) and xAI Grok (via api.x.ai, model grok-2-latest). Select the respective preset and enter your private key.
Custom Themes
Make your own colours, or paste a theme someone else has shared. It works the same way on macOS, iOS, iPadOS and Linux. For themes ready to paste, see the theme gallery.
- Open Settings → Appearance and choose Customise… beside the theme picker. (On iOS and iPadOS the dialog is titled Customise.)
- Change any of the 17 colours, or switch between Light and Dark. The whole app follows as you go, and the theme string below the colours rewrites itself.
- Give the theme a name and choose Save. It appears under App Theme and is selected. Cancel puts back the theme you started with.
The theme string
A theme is one line of text: dark or light, then 17 colours, separated by commas, always in this order. The name is not part of it; whoever receives it names it themselves.
dark,#1E1E2E,#181825,#11111B,#CDD6F4,#A6ADC8,#7F849C,#89B4FA,#B4BEFE,#313244,#313244,#F38BA8,#F9E2AF,#A6E3A1,#1E1E2E,#2A2B3C,#F5E0DC,#45475A
| Position | Colour | Field |
| 1 | Mode | dark or light |
| 2 | Background Primary | bg_primary |
| 3 | Background Secondary | bg_secondary |
| 4 | Background Tertiary | bg_tertiary |
| 5 | Text Primary | text_primary |
| 6 | Text Secondary | text_secondary |
| 7 | Text Muted | text_muted |
| 8 | Accent | accent |
| 9 | Accent Hover | accent_hover |
| 10 | Border | border |
| 11 | Divider | divider |
| 12 | Error | error |
| 13 | Warning | warning |
| 14 | Success | success |
| 15 | Editor Background | editor_bg |
| 16 | Editor Line Highlight | editor_line_highlight |
| 17 | Editor Cursor | editor_cursor |
| 18 | Editor Selection | editor_selection |
Colours are #RRGGBB. Only Editor Line Highlight and Editor Selection may carry opacity, as #RRGGBBAA.
Import and share
- Import: paste a string into the theme string field. It is forgiving: commas, spaces or new lines all work, the
# is optional, and #RGB shorthand is accepted. If something is wrong, the dialog says what, for example which colour is not a valid hex colour or how many colours it found. Save stays off until the string is valid and the theme has a name.
- Share: Copy puts the theme string on the clipboard. Post it anywhere you like.
- Contrast: if the main text would be hard to read on its background, the dialog says so. It is a warning, not a block.
- Delete: choose a theme you saved, open Customise… and choose Delete Theme. Tessamark goes back to the System theme. The built-in themes can't be deleted, and you can't save over their names.
Free and Pro
Importing a theme is free: paste a string, name it, save it, copy any theme's string and delete your own themes. The visual editor, meaning the 17 colour wells and the Light/Dark switch, is part of Tessamark Pro. In the free version they are shown greyed out. You can still edit the string by hand.
Offline Licence Verification
Tessamark licences are cryptographically signed Ed25519 tokens. When you purchase Pro, you receive a licence string containing your entitlement, device allowance, and signature.
- Offline by Design: Tessamark verifies licence signatures locally using an Ed25519 public key compiled into the Rust core. It never phones home to validate on startup and functions without an internet connection.
- Device Allowance: Each individual licence permits activation on up to 3 personal devices across any combination of macOS, iOS, Windows, or Linux.
Cross-Platform Pro: Mobile to Desktop
Purchased Tessamark Pro on an iPhone, iPad, or Mac via the App Store? You do not need to buy a second licence for Windows or Linux.
To transfer your licence to desktop:
- Open Tessamark on your Apple device.
- Go to Settings → Licence & Pro.
- Tap Copy Licence Key.
- Paste the copied key into Tessamark on Windows or Linux under Settings → Enter Licence Key.
Alternatively, visit our Store Claim page to exchange an Apple receipt token directly for an Ed25519 desktop key.