Espanso watches what you type and swaps trigger words for whatever you defined: a signature, a boilerplate paragraph, a code block, today's date, the output of a shell command. Snippets live in YAML files on disk, which means you can put them in a git repo, read a diff when something changes, and move them around with whatever you already use for files. Nothing is sent to a server and there is no account to create.
That design is also the boundary. There is no snippet manager, so a library of a hundred triggers is a set of text files you organise by hand, and keeping two Macs in step is your problem rather than a feature someone sold you. Fill-in form snippets work, but they are plainer than the paid equivalents. Community maintenance means a macOS update that breaks expansion in some app gets fixed when a volunteer has time.
It is GPL-3 licensed, donations are invited and nothing is withheld from people who do not give. The same configuration runs on Windows and Linux, which matters if your work machine is not a Mac.
If you want a tidy interface, forty snippets you can browse, and iPhone sync, paying for an expander is a reasonable choice. If you mostly resent a monthly bill for storing your own text, stop here.
