DominaresTools

All tools / Backends & data

notehaul

Apple Notes to any endpoint, safe to publish.

Buy notehaul for $49

One payment of $49, plus sales tax where it applies, and every future update. Delivered as a private GitHub repository you're invited to.

See it work

notehaul 1.0.2demo mode
notehaul demo
exported 4 notes (4 reported by the app)

1. a note with a table (plaintext alone would have been one placeholder character):
   Site | Opens
   North | 9:00
   South | 10:30

2. synced: 3 stored, 1 refused as internal (the DO NOT TOUCH note)
3. an empty batch is refused: skipped_empty_sync=True, 3 rows kept

4. publish mode strips [bracketed] text:
   before: We close early on Fridays [check with the manager before saying why]
   after:  We close early on Fridays

5. standing directives, ready to put above a prompt:
   STANDING NOTES (operator directives; follow these first):
   - [Voice of the bot] ALWAYS: answer in the visitor's language
   - [Voice of the bot] NEVER: promise a refund
Demo mode, not a live system: notehaul 1.0.2, run on 2026-10-05. The tool's own offline demo on built-in sample notes: no Notes.app, no network; the table, the sync, the refusals and the stripping are real output of the real code.

What it does

notehaul turns an Apple Notes folder into synced, safe-to-publish data for any endpoint, from the Mac or an iPhone Shortcut. It keeps the tables plaintext drops, pushes with replace-all, strips [bracketed] internal text and collects standing DIRECTIVE, ALWAYS and NEVER lines.

Tables kept
Reads each note as plaintext and as HTML and keeps the fuller one, so a table is not reduced to one placeholder character.
Replace-all sync you can trust
An empty batch is refused, the store is backed up before every overwrite, a corrupt store is never overwritten, and a folder allow-list refuses a push labelled with any other folder. The receiver drops DO NOT TOUCH and internal-tagged notes before storing them. The label is what the sender declares; it does not prove where the notes were read from.
Publish mode
Strips [bracketed] text and folds Apple Notes' bold glyphs and invisible spaces.
Standing directives
Collects DIRECTIVE, ALWAYS, NEVER and PIN lines into one capped block.
Receivers
A framework-free core plus FastAPI, Flask and Cloudflare Worker examples, and a standard-library server for local trials.
iPhone Shortcut generator
Writes a Shortcut for any endpoint and signs it on a Mac. It has not yet been run on a physical iPhone.

What you get

notehaul 1.0.2: the notehaul Python package and command, receiver examples for FastAPI, Flask and a Cloudflare Worker, the iPhone Shortcut generator and the full test suite, with 155 automated tests.

A commercial license. Use it and change it in your own projects and your clients' projects. Don't share or resell the source. Read the license.

Every update. New versions land in the same repository; git pull to get them.

Requirements

Python 3.10 or newer. Python 3.10 or newer, standard library only. Exporting from Apple Notes and signing the Shortcut need macOS; everything else runs anywhere. The Worker example needs a Cloudflare account.

How buying works

  1. Enter your GitHub username. You'll see the account before you pay, so you can check it's yours.
  2. Pay $49, plus any sales tax shown at checkout, on Stripe's checkout page.
  3. Accept the invitation GitHub emails you. Signed in as that account, you'll also find it at github.com/dominares-tools/notehaul/invitations. Invitations expire after 7 days; you can get a new one any time.
  4. Clone and install:
    git clone https://github.com/dominares-tools/notehaul.git

    Private repo: sign in to GitHub on this computer first. Run gh auth login and choose HTTPS, or give git a personal access token when it asks for a password. To use an SSH key instead, clone git@github.com:dominares-tools/notehaul.git.

    python3 -m venv .venv && . .venv/bin/activate
    pip install ./notehaul

Questions

Do I need GitHub?

Yes. Access is a read-only invitation to a private repository, sent to the GitHub account you choose.

Can I get a refund?

Yes, within 14 days, no questions asked. Access ends when the refund goes through. Refund policy.

Who takes the payment?

Payments are handled by Stripe, which works out sales tax. Your receipt and card statement show Link (LINK.COM*), Stripe's checkout service.

Something wrong?

Email support@dominares.org. Every buyer of a tool shares its repository, so support happens by email rather than in GitHub issues.