PrintToVeraeTimeStamp/README.md

136 lines
4.4 KiB
Markdown

# 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](https://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):**
```text
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:**
```bash
sudo apt install ./verae-print_amd64.deb
verae-print setup
verae-print stamp document.pdf
```
**Linux (tarball, any distro):**
```bash
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):
```bash
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:
```bash
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](https://customer.verae.ai/portal/) / [zap.verae.ai](https://zap.verae.ai/portal/) Security tab:
```bash
mkdir -p ~/.verae
chmod 700 ~/.verae
printenv XVERAE_TOKEN > ~/.verae/xverae-token # or paste once
chmod 600 ~/.verae/xverae-token
```
## Usage
In any app: **File → Print → Destination → Verae Timestamping → Print**.
Also: drop a PDF on **Verae Print Stamp** in `/Applications`, or **Open With**.
CLI:
```bash
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`).
```bash
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
```bash
./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](docs/superpowers/specs/2026-10-03-print-to-verae-timestamp.md) 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](https://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