Overview
jo integrates with Apple’s Messages app (iMessage and SMS) to help you search conversations, find information people shared with you, and recall important details from chats. Instead of scrolling through years of messages, ask jo to find what you need using natural language.How Messages Integration Works
jo connects directly to your Mac’s Messages database:- Reads message content, sender/recipient info, and timestamps
- Indexes conversations, group chats, and attachments
- Updates continuously as new messages arrive
- All processing happens locally on your Mac
jo uses read-only access to your Messages database. It cannot send messages, delete conversations, or modify your chat history.
What’s Indexed
jo indexes these elements from your Messages:Message Content
- Text messages — iMessage and SMS content
- Sender and recipient names — Contact names and phone numbers/emails
- Timestamps — When messages were sent and received
- Attachments — Photos, videos, files, links, locations
- Reactions — Hearts, likes, and other message reactions
- Group chat info — Participant lists and group names
Message Metadata
- Message threads and conversation context
- Read/unread status (for context, not searchable)
- Message type (iMessage, SMS, group chat)
What’s NOT Indexed
- Deleted messages — Once deleted from Messages, they’re removed from jo
- Blocked contacts — Messages from blocked numbers aren’t indexed
- Messages from before indexing — Only messages since you enabled jo are searchable
jo indexes your complete Messages history by default, going back as far as your Mac stores messages. You can limit this in Settings → Messages → History Range.
Enabling Messages
Initial Setup
- Open jo Settings → Data Sources → Messages
- Click Enable Messages
- Grant permission when macOS prompts for Messages access:
- System Settings → Privacy & Security → Messages
- Enable access for jo
- jo begins indexing your message history
Disabling Messages
To stop indexing Messages:- Open jo Settings → Data Sources → Messages
- Click Disable Messages
- Choose whether to delete indexed message data
- Revoke permission in System Settings → Privacy & Security → Messages
Privacy Controls
jo provides detailed privacy controls for Messages:Contact Exclusions
Exclude specific contacts from being indexed:- Settings → Messages → Excluded Contacts
- Select contacts to exclude
- jo will never index messages from these contacts
- Exclude private or sensitive conversations
- Skip business contacts that don’t need searching
- Temporarily exclude contacts for privacy
Group Chat Controls
Control which group chats are indexed:- Settings → Messages → Group Chats
- View list of all group chats
- Disable indexing for specific groups
Attachment Handling
Choose how jo handles message attachments:- Index attachment metadata only — File names and types (default)
- Index attachment content — Extract text from images, PDFs, etc.
- Skip attachments entirely — Only index text messages
Time Limits
Control how far back jo indexes:- Last 6 months
- Last 1 year (default)
- Last 2 years
- All messages
Search Capabilities
Natural Language Queries
Ask about messages like you’d ask a friend:- “What did I tell Jake I’d send him?” — Finds commitments you made
- “Did Mike ever send me that contractor’s number?” — Searches for specific info
- “What came out of my conversation with Sarah about the project?” — Summarizes threads
- “Show me photos from the trip to Portland” — Finds attachments by context
Conversation Context
jo understands the flow of conversations:Finding Shared Information
jo tracks what people shared with you:Cross-Source Intelligence
jo connects messages with other data:Example Queries
Real ways users search Messages with jo:Finding Specific Information
- “What’s Jake’s address? He texted it to me last month”
- “Show me the Zoom link Sarah sent yesterday”
- “Find the recipe Mike shared in our group chat”
Tracking Commitments
- “What did I promise to send to Rachel?”
- “Did I ever respond to Kevin about meeting up?”
- “Show me conversations where I said I’d do something”
Recalling Recommendations
- “What restaurant did Amanda recommend in Austin?”
- “Show me the book recommendations from my book club group”
- “What podcast did Mike mention last week?”
Finding Shared Media
- “Show me the photos Emma sent from the wedding”
- “Find the video James shared about that tutorial”
- “Where’s that meme Alex sent about cats?”
Group Chat Searches
- “What did the team decide in the group chat yesterday?”
- “Show me when we planned the dinner in the family group”
- “Find the discussion about vacation dates”
Time-Based Searches
- “What did I message Sarah last Tuesday?”
- “Show me conversations from my trip to New York”
- “Find messages from December about holiday plans”
Performance and Storage
Initial Indexing
When you first enable Messages:- Time: 5-15 minutes for 10,000-50,000 messages
- Impact: About 10-15% CPU usage during indexing
- What’s indexed: Based on your time limit setting
Continuous Indexing
After initial setup:- New messages are indexed within seconds
- Background indexing uses minimal resources
- jo monitors the Messages database for changes
Storage Requirements
Message index size:- Text only: ~1-2KB per message
- With attachment metadata: ~2-5KB per message with attachments
- With attachment content: Varies by attachment size
- Example: 10,000 messages ≈ 20-50MB index
Attachments themselves aren’t duplicated. jo only indexes metadata and optionally extracts text content.
Privacy and Security
Local Processing Only
Your messages stay completely private:- No cloud uploads — Messages are indexed locally on your Mac
- Encrypted storage — The local index is encrypted
- Read-only access — jo cannot send, delete, or modify messages
- No external sharing — Your conversations never leave your device
How jo Accesses Messages
jo uses Apple’s standard APIs:- Reads from the same Messages database as the Messages app
- Requires explicit macOS permission (Privacy & Security settings)
- You can revoke access anytime without affecting Messages app
Encryption
iMessage end-to-end encryption is preserved:- jo only accesses messages after they’re decrypted on your Mac
- Messages remain encrypted during transmission
- jo’s local index is separately encrypted on disk
Deleting Message Data
To remove jo’s message index:- Settings → Messages → Clear Message Index
- Optionally disable Messages integration entirely
- Uninstalling jo also deletes all indexed message data
Troubleshooting
jo Can’t Access Messages
- Check macOS permissions: System Settings → Privacy & Security → Messages
- Ensure “jo” is enabled in the list
- Restart jo after granting permission
- If issues persist, try removing and re-granting permission
Messages Not Appearing
- Verify the message is within your time limit (e.g., last 1 year)
- Check if the contact is in your Excluded Contacts list
- Ensure the message wasn’t deleted from Messages app
- Try re-indexing: Settings → Messages → Re-index Messages
jo Can’t Find a Message
If you know a message exists but jo can’t find it:- Try different search phrases or keywords
- Include more context (sender’s name, approximate date)
- Check if it’s a group chat (try mentioning group name)
- Verify the message is synced to your Mac (iMessages sync across devices)
Group Chats Not Indexed
- Check Settings → Messages → Group Chats to see if it’s disabled
- Ensure the group chat has messages within your time range
- Re-index if needed: Settings → Messages → Re-index
Attachments Not Searchable
- Enable attachment content indexing: Settings → Messages → Attachment Handling
- Select “Index attachment content”
- Re-index messages to process existing attachments