No description
  • Go 69.2%
  • Shell 10.7%
  • PowerShell 9.4%
  • NSIS 8.7%
  • JavaScript 2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Cursor Agent 5ed87da68f
Some checks failed
installers / netprint (push) Has been cancelled
installers / macos-pkg (push) Has been cancelled
installers / publish (push) Has been cancelled
Keep the macOS receipts SMB share across reboots.
Save the installer choice as shareReceiptsSMB, recreate the share when it is missing, and show the live smb:// address on the receipts page.

Co-authored-by: George Lambert <marchon@gmail.com>
2026-10-05 16:34:51 +00:00
.github/workflows Keep the Mac menu bar up and open the live receipts page. 2026-10-05 16:18:24 +00:00
assets fix(pdfcert): branded Registration Document without mcp.verae.ai 2026-10-03 04:15:28 -04:00
cmd Keep the macOS receipts SMB share across reboots. 2026-10-05 16:34:51 +00:00
docs Keep the macOS receipts SMB share across reboots. 2026-10-05 16:34:51 +00:00
internal Keep the macOS receipts SMB share across reboots. 2026-10-05 16:34:51 +00:00
platform Keep the macOS receipts SMB share across reboots. 2026-10-05 16:34:51 +00:00
scripts Build the macOS package with pkgbuild and leave CUPS localhost alone. 2026-10-05 01:47:53 +00:00
site/printit.verae.ai Advertise the Windows printer through DNS-SD and log the service. 2026-10-04 21:48:31 +00:00
.gitignore wip: registration PDF, auth setup, CLI, Windows/Linux installers 2026-10-03 18:35:27 -04:00
go.mod Add an optional LAN timestamp printer and tray control. 2026-10-04 19:30:21 +00:00
go.sum Add an optional LAN timestamp printer and tray control. 2026-10-04 19:30:21 +00:00
Makefile Add an optional LAN timestamp printer and tray control. 2026-10-04 19:30:21 +00:00
README.md Advertise the Windows printer through DNS-SD and log the service. 2026-10-04 21:48:31 +00:00

PrintToVeraeTimeStamp

Print / CLI helper that saves {name}.pdf, stamps the digest with Verae, and writes {name}-verae-timestamp-{RECEIPTID}.pdf.

Only the SHA-256 digest is sent to Verae. Document bytes never leave the machine.

Install

Downloads: printit.verae.ai (macOS .pkg, Windows .zip, Linux .tar.gz).

macOS (recommended): open VeraePrintStamp-macos.pkg. First launch opens customer.verae.ai for an xVerae- signing key.

Windows (GUI installer):

Download VeraePrintStamp-windows-amd64-setup.exe from printit.verae.ai
Run the installer → Finish with “Run setup” → paste your xVerae- key
verae-print stamp .\document.pdf

Debian / Ubuntu:

sudo apt install ./verae-print_amd64.deb
verae-print setup
verae-print stamp document.pdf

Network printer (optional, separate from the driver): an IPP Everywhere queue named Verae Timestamp for other devices on the LAN. Install the standalone package, or leave the driver installer’s option off (Windows checkbox, macOS Customize, Debian debconf). Both use one service and one tray / menu-bar control. On Windows the service advertises through DNS-SD (DnsServiceRegister) because the DNS Client owns UDP 5353, writes %ProgramData%\Verae\logs\netprint.log, and the setup starts the tray for the logged-in user. Public networks and a local Windows queue stay off unless you opt in. The standalone Windows folder is C:\Program Files\Verae\NetPrint (the driver stays in PrintStamp). The LAN fallback port is 8632, so it does not collide with the driver helper on 127.0.0.1:8631. See docs/network-printer.md.

OS Standalone With the driver (off unless you opt in)
Windows VeraeNetPrint-windows-amd64-setup.exe Checkbox on the driver setup’s options page
macOS VeraeNetPrint-macos.pkg Customize → Network timestamp printer
Debian sudo apt install ./verae-netprint_amd64.deb sudo apt install ./verae-print_amd64.deb and answer the prompt, or install verae-netprint later

Linux (tarball, any distro):

tar xzf VeraePrintStamp-linux-amd64.tar.gz
cd VeraePrintStamp-linux-amd64-*
sudo ./install.sh          # CLI + optional CUPS queue
verae-print setup
verae-print stamp document.pdf

From source (macOS):

cd /Users/marchon/research/PrintToVeraeTimeStamp
go build -o "$HOME/bin/verae-print" ./cmd/verae-print
verae-print setup             # create account + save xVerae- signing key
verae-print install-printer   # Print → Destination → Verae Timestamping

Optional (buried PDF submenu): verae-print install-macos

Ensure $HOME/bin is on your PATH. For the legacy Verae Time JWT channel:

uvx verae-mcp-timestamping-server setup
# or session check:
uvx verae-mcp-timestamping-server session

For the Zapier channel, store an xVerae- token from customer.verae.ai / zap.verae.ai Security tab:

mkdir -p ~/.verae
chmod 700 ~/.verae
printenv XVERAE_TOKEN > ~/.verae/xverae-token   # or paste once
chmod 600 ~/.verae/xverae-token

Build the network-printer installers (Debian packages, Windows NSIS setups, macOS binaries and a .pkg when pkgbuild is available):

make installers
# artifacts: build/netprint/

Usage

In any app: File → Print → Destination → Verae Timestamping → Print.

Also: drop a PDF on Verae Print Stamp in /Applications, or Open With.

CLI:

verae-print stamp [--channel=verae|zapier] [--out-dir DIR] [--name STEM] [--open] file.pdf

Default output directory: ~/Documents/Verae Timestamps/

File Content
{name}.pdf Exact printed bytes (proven artifact)
{name}-verae-timestamp-{RECEIPTID}.pdf Registration / certificate PDF
{name}.verae.json Receipt sidecar

Channels:

  • zapier (default after setup) — zap.verae.ai + customer xVerae- signing key + attachPdf:true
  • verae — api.veraetime.net + JWT in ~/.verae/auth.properties (opt-in: -channel=verae)

Signed macOS installer (.pkg)

Same FlightLookup Developer ID + notarization path as Verae Timestamping.app (~/fie/installers/macos/signing.env).

cd /Users/marchon/research/PrintToVeraeTimeStamp
chmod +x platform/macos/pkg/build-pkg.sh
./platform/macos/pkg/build-pkg.sh
# → build/macos-pkg/dist/VeraePrintStamp-0.1.2.pkg
# → build/macos-pkg/dist/VeraePrintStamp-macos.pkg

The pkg installs:

Path Role
/Applications/Verae Print Stamp.app Drop / Open With
/Library/Application Support/Verae/PrintStamp/bin/verae-print Stamp CLI (universal)
/usr/local/bin/verae-print Symlink
LaunchAgent + CUPS queue Print → Destination → Verae Timestamping

Requires: Developer ID Application + Developer ID Installer (FlightLookup), App Store Connect API key in signing.env, Node for bundling the registration PDF builder.

Windows / Linux release archives

./scripts/build-win-linux.sh
./platform/windows/build-installer.sh   # NSIS GUI setup.exe (needs makensis)
# on Debian/Ubuntu host:
VERSION=0.1.2 BIN_AMD64=... BIN_ARM64=... ./platform/linux/deb/build-deb.sh all

Windows ships an NSIS GUI installer; stamp via CLI after setup (virtual printer still on the spec roadmap). Debian/Ubuntu use verae-print_*.deb; other distros use the tarball + install.sh.

Status

macOS Destination printer (notarized .pkg), Windows/Linux CLI packages, and branded registration PDF are published at printit.verae.ai.

Contributing

Open questions and design changes in this repository. Pull requests are accepted for review against the spec.

License

UNLICENSED © Verae / George Lambert