Security
Architecture: local-first by design
CoworkRunner is a desktop application that runs on your Mac, not a website you log into. There is no CoworkRunner cloud database holding your buyer names or contract details; your deal data never travels through our infrastructure, because we do not operate that infrastructure. This removes an entire category of cloud-breach risk before it can exist.
Your deals and contracts: the data that matters most
Everything Transaction Coordinator knows about a deal - the parties, the contract terms, the dates, the money, and the contract documents themselves - lives as files on your Mac under your user account, in folders and files restricted to your account alone (owner-only permissions, verified in the shipping build). There is no CoworkRunner server that receives, mirrors, or can even see a transaction.
Contract content leaves your Mac through exactly one door, and you hold the key: AI reading. Pages are rendered and sent to Anthropic's Claude API through CoWorkRunner's managed relay - which forwards the request and keeps no copy of it - or under your own API key, if you have connected one, when the app reads a contract for you. How Anthropic handles a request once it arrives is governed by their policy, not ours; those renders are deleted after a successful read, and every automated read lands in the tamper-evident log. Nothing else transmits deal data, ever. Fields the AI extracts (names, dates, amounts) are written into the local deal record on your Mac, nowhere else.
What we protect, how
- Credentials: every service key you connect is stored in the macOS Keychain, encrypted at rest by the operating system under your login. Another app on your Mac cannot read them without the operating system's permission.
- Binary integrity: the app is code-signed with an Apple Developer ID, notarized by Apple, and runs under macOS Hardened Runtime; it installs without security warnings, macOS verifies the signature on every launch, and a tampered binary will not run.
- Your files: deal documents, generated PDFs, backups, and working files are written with owner-only permissions, so no other account on the Mac can read them. We do not upload them anywhere.
Encryption and integrity, in specifics
- Encrypted local backups: backups are sealed with AES-256-GCM. The key is stretched from your passphrase with PBKDF2-HMAC-SHA256 at 600,000 iterations and a unique random salt per backup, so a stolen backup file is expensive to brute-force. We never see or store your passphrase; lose it and the backup cannot be recovered, by design.
- Tamper-evident action log: every automated action is recorded in an append-only local log, chained with HMAC-SHA256 under a per-install key held in your macOS Keychain, with the chain head anchored there too. Editing, reordering, or truncating any entry is detectable; the record cannot be quietly rewritten.
- AI with receipts, never in silence: the assistant never deletes your data on its own; it flags candidates and you decide. Document text sent to the AI is fenced as untrusted data so instructions hidden inside a document are reported, not obeyed. Page images rendered for AI reading are deleted after a successful read, and every automated read lands in the tamper-evident log above.
- Signed updates: updates arrive over HTTPS and are verified against an EdDSA signature baked into the app before they install; a swapped or modified update is rejected.
- One license, one Mac: your license activates against a hashed hardware identifier computed on your machine; the raw identifier never leaves the device.
Network
Every outbound connection uses TLS (1.2 minimum, 1.3 where the endpoint supports it) to a known destination: Anthropic's Claude API for the AI features, Stripe for your billing page, our license server for activation checks, the signed update feed, our error-monitoring service for crash and diagnostic reports, and RentCast only if you add your own comps key. There are no ad networks and no advertising or cross-site trackers, and crash reports exclude your transaction contents and redact sensitive fields.
Connected services
If you connect a third-party service, any credential you provide lives in your macOS Keychain and the calls go directly from your Mac to that service over TLS; CoworkRunner never proxies or stores that traffic. What any connected service keeps on its side is governed by its own security program, so use strong, unique passwords there and enable every protection it offers.
No system is unhackable
The best servers in the world get hacked. Real-estate professionals carry highly sensitive client information and are increasingly attractive targets. CoworkRunner's local-first architecture reduces your exposure; it does not eliminate it. Threats that remain include:
- malware on your own Mac that bypasses operating-system protections,
- compromise of the third-party services you connect,
- phishing or social engineering against you directly,
- and physical theft of an unlocked Mac with credentials still authorized in the Keychain.
Recommended: add a second layer with Anthropic
CoworkRunner uses Anthropic's Claude API for AI document work. Anthropic offers enterprise-grade controls, audit logging, data residency options, and zero-data-retention configurations that go beyond what a desktop app provides on its own.
For high-value transactions or brokerage-wide deployments, configure CoworkRunner against your own Anthropic account; the AI calls then run under your security controls, your audit log, and your retention contract, directly with Anthropic. Email us and we will help you set it up.
What you should do
- Turn on FileVault disk encryption.
- Lock your screen when you walk away; use Touch ID or a strong password.
- Keep macOS updated (CoworkRunner requires macOS Sonoma (14) or newer - Sonoma, Sequoia or Tahoe).
- Use unique, strong passwords with a password manager for every service you connect.
Reporting a security issue
Email security@coworkrunner.com. Security reports are the highest priority correspondence we receive: response within 48 hours, and we credit responsible disclosure.