Acknowledgements¶
Synapse is free software under the GNU Affero General Public License, version
3. You are free to use, study, share and modify it; if you run a modified
version as a network service, the license asks you to offer your users its
source. See the LICENSE file at the root of the repository.
Synapse stands on a lot of open source. Thank you to every maintainer and contributor of the projects below, and of the many pulled in transitively that this list cannot do justice to.
Application¶
| Project | Used for | License |
|---|---|---|
| Svelte | The web app's UI framework (runes) | MIT |
| Vite | Build tool and dev server | MIT |
| TypeScript | The language of the JS codebase | Apache-2.0 |
| NestJS | The server's application framework | MIT |
| Loro | The CRDT documents every device stores | MIT |
| Tauri | Desktop and mobile shells | MIT / Apache-2.0 |
| Drizzle ORM | Database access, sqlite + postgres | Apache-2.0 |
| better-sqlite3 | SQLite driver | MIT |
| postgres | Postgres driver | Unlicense |
| Passport | Authentication strategies (local, SSO) | MIT |
| bcrypt | Password hashing | MIT |
| pdf.js | PDF rendering and text extraction | Apache-2.0 |
| pdf-lib | Baking annotations into exported PDFs | MIT |
| Tiptap | Rich-text notes with mentions | MIT |
| fflate | File pack (zip) export/import | MIT |
| neverthrow | Typed error handling on the client | MIT |
| Paraglide (inlang) | i18n message compilation | Apache-2.0 |
| Lucide | Icons, in the app and in these docs | ISC |
| JetBrains Mono | The typeface of the whole interface | OFL-1.1 |
| class-validator / class-transformer | Request validation | MIT |
| multer | Upload handling | MIT |
Desktop shell (Rust)¶
| Project | Used for | License |
|---|---|---|
| tokio | Async runtime for the LAN listener | MIT |
| tokio-tungstenite | WebSocket server for device-to-device sync | MIT |
| mdns-sd | Discovering nearby devices | Apache-2.0 / MIT |
| serde | Serialization | MIT / Apache-2.0 |
| base64 | Payload encoding | MIT / Apache-2.0 |
| hostname | Naming the device on the network | MIT |
Development and testing¶
| Project | Used for | License |
|---|---|---|
| Playwright | End-to-end tests | Apache-2.0 |
| Vitest | Web unit tests | MIT |
| Jest | API unit and integration tests | MIT |
| axe-core | Automated WCAG scans | MPL-2.0 |
| fake-indexeddb | IndexedDB in unit tests | Apache-2.0 |
| ESLint / Prettier | Linting and formatting | MIT |
| Stryker | Mutation testing | Apache-2.0 |
| MkDocs / Material for MkDocs | This documentation | BSD-2-Clause / MIT |
| Mermaid | The architecture diagrams | MIT |
| GLightbox | Enlarging the docs screenshots | MIT |
External tools and services¶
These are not bundled; Synapse calls them when you install or configure them.
| Project | Used for | License |
|---|---|---|
| LibreOffice | Converting office documents to PDF | MPL-2.0 |
| pandoc | Converting markup formats to PDF and text | GPL-2.0-or-later |
| typst / tectonic | PDF engines for pandoc | Apache-2.0 / MIT |
| Ollama | Running local AI models | MIT |
| OpenAI / Anthropic APIs | Exercise generation and OCR with your own key | proprietary services |
License names are those declared by each project at the time of writing; consult the projects themselves for the authoritative terms.