Repository navigation
Trulana v1.2.1 — macOS Desktop MVP
v1.2.1 corrects release metadata so the app bundle version, visible UI version, and GitHub release tag all match.
Trulana is a local-first private context system that lets apps and AI agents query useful context without owning your data. Context stays local. Only redacted answers leave the device.
This release ships the same desktop shell UI, hardened agent approval flow, enforced access scopes, and signed + notarized macOS build that v1.2.0 introduced — with all version strings consistent end-to-end.
What's New in v1.2.1
Release-integrity hotfix
CFBundleShortVersionStringis now1.2.1(v1.2.0 was incorrectly1.0.0)CFBundleVersionis4- The visible UI sidebar label is
v1.2.1 - The MCP server
_serverVersionis1.2.1 - The git source tree on
mainnow reflects the production hardening that was already in the v1.2.0 binary
No behavior changes vs v1.2.0.
Carried over from v1.2.0
Desktop shell UI
A proper macOS desktop interface for managing local context, approvals, and agent access instead of a CLI-first workflow.
First-contact agent approval
New agents are not auto-approved. First contact creates a pending request that requires explicit user approval before access is granted.
Scope narrowing before approval
Users can approve only the scopes they want. Requested scopes can be narrowed before activation. Stored granted scopes become authoritative and cannot be silently expanded later.
Enforced scope checks
context.readis required for context queriesmonetize.writeis required for monetize / lease offer routes
Tokens without the required scope are rejected.
Empty-vault no-echo protection
If no vault match exists, Trulana no longer echoes the caller's raw query back. This closes an information-disclosure path and ensures raw context is not reflected unnecessarily.
Signed + notarized macOS release
- Developer ID signed (
Adam Gurley · 7S7QY5ND9Q) - Apple notarized
- Stapled
- Gatekeeper accepted (
source=Notarized Developer ID) - Universal binary (x86_64 + arm64)
- Hardened runtime enabled
License
Business Source License 1.1 (BUSL).
Source available. Commercial production use by a commercial entity requires a separate commercial license from AdamsLocal LLC. This is not MIT and is not OSI open-source.
Known Limits
- macOS only public binary
- Signing + notarization are currently manual, not yet automated in CI
- Repository / source access may remain private during commercial rollout
- No HIPAA, SOC 2, FedRAMP, or other regulatory certifications are claimed
- Audit logs are encrypted, but not cryptographically tamper-evident
- MCP per-agent rate limiting is not yet enforced
- NER uses keyword dictionaries (on-device LLM redaction is a future phase)
Upgrade Notes
v1.0.0
Signed and notarized, but predates the hardened approval and scope-enforcement model. Do not use as the primary public release.
v1.1.0
Desktop UI milestone, but not shipped as a signed public artifact.
v1.2.0
Correct security model and signed + notarized, but the bundle and UI reported themselves as 1.0.0 due to a stale Flutter version-config cache at build time. Functionally equivalent to v1.2.1 but version-mislabeled.
v1.2.1
The current correct public baseline. Recommended.
Recommended For
- Privacy-first AI workflows
- Local agent systems
- Personal AI infrastructure
- Teams that want context retrieval without cloud custody of sensitive data
Verification
codesign -dvvv trulana.app
Identifier=com.adamslocal.trulana
Format=app bundle with Mach-O universal (x86_64 arm64)
flags=0x10000(runtime)
Authority=Developer ID Application: Adam Gurley (7S7QY5ND9Q)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
TeamIdentifier=7S7QY5ND9Q
Notarization Ticket=stapled
spctl --assess --type execute --verbose=4 trulana.app
accepted source=Notarized Developer ID
xcrun stapler validate trulana.app
The validate action worked!
After download, extract with macOS Finder (double-click) or ditto -x -k rather than unzip, since unzip strips the resource-fork extended attribute that holds the stapled notarization ticket.
Contact
Private testing, licensing, and security inquiries: