Skip to content

Releases: RobiMez/odit-bridge

OditBridge v0.2.0

Choose a tag to compare

@RobiMez RobiMez released this 28 Jul 22:58

First notarized release of OditBridge — a macOS companion app for odit.et that reads bank SMS from ~/Library/Messages/chat.db (iPhone Text Message Forwarding) and ships them to your odit server.

The app is signed with a Developer ID certificate and notarized by Apple, so it opens like any other app — no Gatekeeper workarounds needed anymore.

Install

  1. Download OditBridge-0.2.0.dmg, open it, and drag OditBridge.app into Applications.
  2. Grant Full Disk Access: System Settings → Privacy & Security → Full Disk Access → add OditBridge.app and toggle it on. The app reads a TCC-protected file (~/Library/Messages/chat.db), so this is mandatory.
  3. In the app: open Settings → set API base URL to your odit server (e.g. https://s.odit.et).
  4. Copy your Device ID from Settings, then in the odit web app (signed in) go to Devices → Link a Mac and paste it. Sync auth is tied to this pairing — uploads are rejected until the device is linked.
  5. Staged tab → Load now → review → Sync now.

The in-app Help → Getting Started (⌘?) walks through the same steps with copy buttons.

Changes since 0.1.0

  • Sync works with the new odit API: all requests authenticate with the x-odit-device-id device header (the API's /api/v2/sync routes now require device or session auth).
  • Messages stored only as attributedBody blobs (no plain text) are now decoded and synced.
  • CSV export for synced transactions.
  • Signed with a Developer ID certificate and notarized — first launch just works.

Requirements

  • macOS 14+
  • iPhone with Text Message Forwarding enabled to your Mac
  • SMS stored unencrypted in iCloud (Advanced Data Protection can leave chat.db empty — see README)

OditBridge 0.1.0

Choose a tag to compare

@RobiMez RobiMez released this 31 May 18:46

First public release of OditBridge — a macOS companion app for odit.et that reads bank SMS from ~/Library/Messages/chat.db and ships them to your odit server.

Install

  1. Download OditBridge-0.1.0.zip, unzip it, and drag OditBridge.app into /Applications/.
  2. macOS will refuse to open the app the first time — it's signed with a developer certificate but not Apple-notarized, so Gatekeeper marks it as "unverified". To bypass:
    • Finder route: right-click OditBridge in /Applications/Open → click Open Anyway on the dialog.
    • Terminal route (faster):
      xattr -dr com.apple.quarantine /Applications/OditBridge.app
      
  3. Open the app once so macOS registers the bundle.
  4. Grant Full Disk Access: System Settings → Privacy & Security → Full Disk Access → click + → add OditBridge.app → toggle it on. The app reads from a TCC-protected file (~/Library/Messages/chat.db) so this is mandatory.
  5. In the app: open Settings (gear icon, top-right) → set API base URL to your odit server (e.g. https://s.odit.et).
  6. Copy your Device ID from Settings → Device → Copy, open the odit web app while signed in, go to Devices → Link a Mac, and paste it. This attributes uploads from this Mac to your account.
  7. Click the Help → Getting Started menu (⌘?) inside the app — it walks through the same flow with one-click buttons.

First sync

  • Staged tab → Load now → review the messages the filter kept → Sync now to upload.
  • Synced / Charts / Heatmap tabs auto-refresh from the server after a successful sync.

Verify

shasum -a 256 OditBridge-0.1.0.zip
# f6f7a0df39a6807ed947c2db99f63d540fcdd525a41637ad394f571339913841

Build it yourself

If you'd rather build from source (no Gatekeeper hoop, no Trust In Stranger required), see README.md. The repo signs ad-hoc by default — xcodegen generate && xcodebuild is enough to produce a working bundle for your own machine.

Known limits

  • Apple Silicon only (arm64). Intel users would need a universal build — open an issue if you want one.
  • The bundle uses a developer cert, not a Developer ID. macOS will not recognize this as a "trusted developer" — that's the Gatekeeper dance above.
  • Sync is one-way: Mac → odit server. The Mac never writes back to chat.db.