FreeholdIP

Expiry reminders you run yourself

Every credential you issue carries its expiration date inside your signed public record — so you don't need us (or anyone) to remind you. This small free tool checks that record and tells you what's expired or about to expire. It runs on your own computer, keeps nothing, sends nothing, and needs no account. It works even if FreeholdIP disappears tomorrow.

⬇ Download freehold_reminders.py
One small file, plain readable Python — you (or anyone you trust) can open it and see exactly what it does before running it.

Run it in two steps

1 · Make sure you have Python

Mac and Linux computers already have it. On Windows, install it free from python.org (tick “Add python.exe to PATH” during install).

2 · Open a terminal in your download folder and run it

Use your own issuer ID — the short all-caps name you sign into the console with (for example WOOKWATER):

python3 freehold_reminders.py --issuer YOURBRAND

On Windows, type py instead of python3. You'll get a plain answer, either:

Your Brand — nothing needs attention (checked 2026-07-06).

or a short list of exactly which credentials are expired or expiring soon, and when.

Make it automatic (optional)

What it does — and deliberately doesn't

Law firms & fiduciary issuers: your issuance list is confidential, so it is never published as a public index — this tool will politely refuse. Your console's Manage view shows the same expiry states, privately.

For the technical

Single file, Python 3.8+, standard library only — no installs. Pure-Python secp256k1 signature verification (no keys, no secrets). Verify your download against the pinned IPFS content ID (any gateway, e.g. ipfs.io/ipfs/<CID>):
QmTChQs1jXd4GfPnbkRMQSekpWE1rwmnjHLRUA9r3Ep6WX
Fully independent bootstrap: --identity /ipns/<your identity key> --pin <your signing pubkey>. Exit code 2 when anything is expired (cron-friendly). --json for machines, --gateway to choose your own IPFS gateways.

Powered by FreeholdIP — but, by design, not dependent on it.