User Guides
Comprehensive step-by-step guides for using every Tessamark feature across macOS, iPhone, iPad, Linux, and Android.
- Getting Started: first launch, opening workspace folders, creating, saving, and switching views.
- Writing: formatting text, KaTeX mathematics, Mermaid diagrams, images, SVG, and keyboard shortcuts.
- Linking and Organising: wiki links, backlinks, tags, Today's Note configuration, and workspace search.
- Version History: automatic git revisions, the timeline, restoring past versions, side-by-side diffs, and AI summaries.
- Sync and Encryption: folder sync, private git remotes, client-side encryption, recovery codes, and the merge window.
- Knowledge Graph (Pro): interactive force-directed visual network mapping your connected notes and thoughts.
- AI Assistant (Pro): contextual chat partner connected to local models or personal cloud API keys.
- Export and Publishing: standalone HTML and PDF export, Ghost blogging integration, and academic citations.
- Themes and Settings: selecting colourways, the visual theme editor, and a reference for every configuration option.
- Pro and Your Licence: what Pro adds, purchasing, cross-platform activation, and offline cryptographic verification.
- Feedback, Error Reports and Privacy: in-app direct feedback, crash reporting opt-ins, and data protection boundaries.
macOS Installation
Tessamark for Mac is a native app that runs on both Apple Silicon and Intel Macs. It requires macOS 14.0 (Sonoma) or later.
Mac App Store
Tessamark for Mac comes from the Mac App Store. It runs sandboxed, and macOS keeps it up to date.
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, it starts keeping version history straight away, in a hidden git repository you never have to set up. The folder can live in iCloud Drive, Dropbox or anywhere else you like.
iOS & iPadOS Installation
Tessamark for iOS and iPadOS is built for touch, with Apple Pencil support for handwriting and markup. It requires iOS 26.0 or iPadOS 26.0 or later.
- Install from the App Store on iPhone or iPad.
- Keep your workspaces in iCloud Drive and your notes follow you between devices.
- Buying Pro in the app unlocks it on all your Apple devices. To use it on Linux too, get a key from the Store Claim page.
Windows Installation
- Install from the Microsoft Store on Windows 10 (version 1809) or later, x64.
- The Store keeps Tessamark up to date.
- To unlock Pro, buy a licence key on the pricing page and enter it in Settings → Pro. The same key works on every platform.
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)
The Android app, for phones and tablets, is in development and hasn't shipped yet. The changelog will say when it's ready.
AI Assistant: Privacy Architecture
Tessamark's AI assistant uses your own key, or a model running on your own machine. We are never in the middle:
- Nothing passes through us: our servers never receive, forward or log your prompts or documents. We run no AI service and hold none of your keys.
- Straight to the provider: requests go from your computer to the provider you chose, or to a server on your own machine (
localhost).
- Keys stay in your keychain: API keys are stored by your operating system (the Keychain on macOS and iOS, the Secret Service on Linux).
- Fully offline if you want: with Camelid, Ollama or LM Studio running on your machine, nothing leaves it and you need no key.
Camelid: the Default Local AI
Out of the box, Tessamark is set up to use Camelid, a small model runner that works entirely on your device.
No account and no key: Camelid needs neither, nor a card. While it is running, Tessamark finds it on your machine by itself.
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 it, start Camelid. In Tessamark, open Settings → AI Assistant, check the provider is Camelid (Local), and ask away.
Ollama (Local Models)
If you already use Ollama, it takes a minute to connect:
- 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 the large hosted models, with an API key of your own.
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
A Tessamark licence is a line of text signed with Ed25519. It says what you bought and how many devices it covers, and carries our signature.
- Checked offline: Tessamark checks the signature on your device, against a public key built into the app, without an internet connection. The licensing server is contacted once when you activate a licence, and a licence that expires (a subscription or a team seat) renews online inside its refresh window. A one-off licence never needs the server again after activation.
- Devices: an individual licence covers up to 3 personal devices, in any mix of macOS, iOS and Linux.
Cross-Platform Pro: Mobile to Desktop
Bought Tessamark Pro in the App Store on an iPhone, iPad or Mac? You do not need to buy it again for Linux.
To use it on Linux:
- Open Tessamark on your Apple device.
- Go to Settings → Licence & Pro.
- Tap Copy Licence Key.
- Paste the key into Tessamark on Linux under Settings → Enter Licence Key.
Or use the Store Claim page to swap your App Store receipt for a key.