Skip to content

Open source

Read it, build it, fork it.

Squill is open source under the Apache License 2.0, and its file format is an open specification. There is no hosted service to depend on: a fork can build and sync under its own Apple account.

Source on GitHub Contributing guide

Licenses

Code

Apache-2.0

Includes a patent grant and works with App Store distribution. Every source file carries an SPDX header.

Vault spec

CC BY 4.0

The format text. Schemas and fixtures are CC BY 4.0 or Apache-2.0, your choice.

Fonts

SIL OFL 1.1

Instrument Serif, Fraunces, Geist and Geist Mono, shipped with their license files.

How it is built

Native SwiftUI apps for iPhone, iPad and Mac, with UIKit and AppKit underneath where text and ink need it. The logic lives in one Swift package. Its core modules use only Foundation and also build and test on Linux; the platform modules sit on top. Text sync uses the Loro CRDT behind a small interface of our own.

  • SquillCoreVault model, safe file operations, paths, frontmatter, link graph.Linux too
  • SquillMarkdownLossless Markdown parser with wikilinks, embeds, callouts, block IDs and math.Linux too
  • SquillSyncReplicas, the stroke-set CRDT, sealed envelopes, folder transport, the convergence simulator.Linux too
  • SquillIndexFull-text and property index. A cache: delete it and it rebuilds.Linux too
  • SquillScholarBibTeX, arXiv, Crossref and OpenAlex clients.Linux too
  • SquillEditorTextKit 2 editor with live preview and inline views.
  • SquillInkPencilKit and PaperKit layer: recognition, anchoring, replay, export.
  • SquillAIProviders, redaction, audit log, retrieval.
  • SquillMCPLocal MCP server and the squill command-line tool (Mac).
  • SquillDesignTokens, type, palettes, the Ink Bloom.

The vault spec

The on-disk format is written down so that nothing depends on Squill to read your notes. In short:

  • Notes are .md files. Untouched text is preserved byte for byte.
  • Ink lives in _ink/ as PencilKit data plus an open JSON stroke format (.squillink.json) with points, pressure, tilt and timing.
  • Attachments live in _attachments/. Canvases are JSON Canvas.
  • .squill/ holds settings and sidecars. The index is a cache you can delete.

It ships with JSON Schemas and conformance fixtures that any implementation can run.

Read the specification

Contributing

Contributions use the Developer Certificate of Origin: sign off your commits with git commit -s. There is no CLA. Dependencies must be permissively licensed (MIT, Apache-2.0, BSD, ISC, MPL-2.0, Zlib, or OFL for fonts), and CI checks every one.

Credits

The mark, the mascot and the Ink Bloom are original work. Type is set in Instrument Serif and Geist, both under the SIL Open Font License: Instrument Serif, Geist and Geist Mono, Fraunces. Icons are from Lucide (ISC).