Guides
Can an app read your iMessages on a Mac?
Updated
Yes. On a Mac, your entire iMessage history sits in a local file, and an app you give Full Disk Access can read it. That is not a loophole or a hack. It is a deliberate difference between the Mac and the iPhone, and it is worth understanding before you allow any app to do it.
Here is how it actually works, and the four things that tell you whether a given app deserves that access.
Where your messages live
When a text arrives, the Messages app writes it to a file on your Mac called
chat.db, tucked inside your user Library at ~/Library/Messages/. It is an
ordinary database file. Every thread you can scroll through in Messages, every
timestamp, every “delivered” and “read”, is stored right there on your own
machine.
That file is the reason any of this is possible. An app that can open chat.db
can see the real state of your conversations: the threads that went quiet, the
replies you still owe, the years of back-and-forth with someone you have known a
long time.
Why the iPhone will not let you do this
Your iPhone keeps every app in a sandbox. One app cannot reach into another app’s data, and Messages is no exception. There is no Full Disk Access setting on iOS because there is no door for it to open. Your message history is sealed off from everything but Messages itself.
This is the ceiling every phone reminder app runs into. It can nudge you to text a friend, but it can never see whether you already did, or what you said, so it keeps nagging about a conversation you already had. We wrote about that limit in app to remind me to text friends.
The Mac is a more open computer. It trusts you to decide what your own software can see, and it puts that decision behind a switch you control.
What Full Disk Access really is
macOS does not hand out access to chat.db casually. Reading it requires Full
Disk Access, and that is a serious permission. It lets an app read almost
everything in your user folders, not just Messages. That is exactly why Apple
does not allow a normal pop-up to grant it. You have to open System Settings
yourself, find Privacy and Security, then Full Disk Access, and flip the switch
by hand.
Treat that friction as a feature. The moment before you grant it is the moment to ask whether the app in front of you has earned it.
The four checks that decide it
Whether an app deserves to read your messages comes down to four questions. Good software answers all four without you having to dig.
- Who made it? An identifiable developer with a name and a signed app, not an anonymous binary. If you cannot tell who is behind it, stop there.
- What does it read, and does it say so plainly? An honest app is specific. It tells you it reads your Messages history and why, instead of waving at “your data” in general.
- Where does your data go? This is the one that matters most. Does the app do its work on your Mac, or does it ship your messages to a server? An app that processes on-device will say so clearly. Reassurance without specifics is not an answer.
- Can you take it back? Full Disk Access is revocable from the same settings screen that granted it. Good software is built to be switched off, and says so.
If an app is vague about any of these, that vagueness is your answer.
How Clarence handles it
Clarence is a Mac app that reads your iMessage history for one purpose: to notice who you are quietly drifting from, and to help you write back in your own voice. So it has to answer these four questions, and here is where it lands.
It is a signed app from a named developer. It reads your Messages history and is built around that being the whole point, not a buried side effect. Your messages are read on your Mac and stay there, and the dossier it builds is never uploaded. Drafting is the one exception, and it is a narrow one: a de-identified excerpt goes out, names and numbers stripped except the recipient’s own first name, and nothing is kept. And the access is yours to revoke in System Settings the second you want it gone.
If you want the longer version of the trust argument, including what we do and do not do with the file, we laid it out in the threat model for an app that reads your messages and on the privacy page. And if you are mainly here because you want help keeping up with the messages themselves, start with how to keep up with texts from your Mac.
The short version: yes, an app can read your iMessages on a Mac. The question worth your time is not whether it is possible, but whether the app asking has earned it.
Frequently asked questions
Where does the Mac store iMessages?
In a file called chat.db inside your user Library, at ~/Library/Messages/chat.db. It is a SQLite database that the Messages app writes to as texts arrive. Everything you see in Messages, the threads, the timestamps, who said what, is read out of that one local file. It never leaves your Mac unless something you installed sends it somewhere.
Is it safe to give an app Full Disk Access?
It can be, but only for software that earns it. Full Disk Access lets an app read almost everything in your user folders, which is why macOS hides it behind an explicit System Settings toggle instead of a one-tap prompt. Grant it only to an app from an identifiable developer that is specific about what it reads, keeps your data on your machine, and works the moment you revoke it. The toggle turns off as easily as it turned on.
Can an app read my texts on an iPhone the same way?
No. iOS keeps each app in a sandbox and your message history is unreachable to anything but Messages itself. There is no Full Disk Access setting on iPhone and no equivalent. This is why a phone app can remind you to text someone but can never see whether you already did. The open file on the Mac is the whole reason this is a Mac question and not an iPhone one.
How do I know an app is not uploading my messages?
Read what the developer says plainly, and look for specifics rather than reassurance. An app that processes your messages on your Mac will say so, name the on-device model or logic it uses, and tell you what, if anything, ever leaves. Vague promises are a red flag. You can also watch: macOS shows you which apps have Full Disk Access in System Settings, and you can revoke any of them at any time.
Can I stop an app from reading my messages after I allowed it?
Yes, instantly. Open System Settings, go to Privacy and Security, then Full Disk Access, and switch the app off. It loses the ability to read chat.db the moment you do. Nothing about granting the access is permanent, which is part of why it is a reasonable thing to grant to software you trust and easy to take back from software you do not.