Project · Android
The Three Column Method
An Android thought-record notebook for practicing David D. Burns' three-column technique from Feeling Good: The New Mood Therapy: write down the automatic thought, mark the cognitive distortions in it, write a rational response.
Thought records
Situation, automatic thought, tappable cognitive-distortion chips and a rational response; the belief rating is optional; any single record can be shared.
Adapts to the screen
On tablets and in landscape the two columns sit side by side, situation and automatic thought on the left, distortions and rational response on the right; on a narrow phone they become two pages, switched by swipe or tap.
Find what you wrote
Results appear as you type, grouped by date.
Privacy first
Fully offline. The optional app lock uses fingerprint, face or the device password; while locked, the recent-apps preview is hidden and screenshots are blocked.
Screenshots
Why it is built this way
A thought record says what you were afraid of that day and how much you believed it, which makes it more private than most notes. So the app is built on one rule: the program gets only the capabilities it needs, and the limit sits where the program cannot get around it.
No network permission
The app requests two system permissions, USE_BIOMETRIC and USE_FINGERPRINT, both serving only the optional lock; the other two lines in the command's output are the declaration and use of one app-private permission that androidx.core adds on its own, signature-level and granting no capability. android.permission.INTERNET is not in the list. Android enforces the limit: without that permission the app's own code cannot open a socket, no library it links can, and neither can a library added later. Check it on the APK below:
aapt dump permissions The-Three-Column-Method-v1.7.2.apk
The data stays in the app's own storage
Records live in a Room (SQLite) database in the app's private directory. There is no account, no sync, no analytics SDK, no crash reporter. Data leaves the app in exactly two ways, both started by you: as a JSON file you export, or as a single record sent through the system share sheet.
Earlier versions had one exception: Android's backup rules covered the database, so with the system's own backup enabled, a copy of the records reached your Google account. That path belongs to the system backup rather than to code in the app, but the data left the device all the same. 1.6.0 closed it: the app declares android:allowBackup as false and both backup-rule files are deleted, so the system no longer backs this app up. This too can be checked on the APK:
aapt dump xmltree The-Three-Column-Method-v1.7.2.apk AndroidManifest.xml | grep allowBackup
0x0 in the output means false. The only way to recover data now is a file you exported yourself.
The optional app lock
The app lock is optional and unlocks with fingerprint, face or the device password. While the app is locked, its preview in the recent-apps switcher is hidden and screenshots are blocked. Both guard against a record being seen on screen: a phone handed to someone else, or a screenshot taken for another purpose that catches an entry.
AgentGuard applies the same idea to a much larger program: decide what a program may touch, then put the limit somewhere it cannot get around. The design tradeoffs are written up in Designing a notebook that never goes online.
Download
Android APK
The Three Column Method
- Version
- 1.7.2
- File size
- 10.9 MB
- Requires
- Android 8.0 or later
- Format
- Android APK
- SHA-256
- 4FCACA2FAB7E0C47652019113784B238A3C741C250B090B7C858A25CE4F9D3F0
Android may ask you to allow installs from your browser or file manager; verify the SHA-256 before installing.
The app is also on Google Play, currently as a closed internal test: the opt-in link works only for Google accounts on the tester list; everyone else sees an error. Email me to be added, or just use the APK above.
Changelog
- 1.7.0
- Three columns became two: situation and automatic thought share one page, distortions and rational response share the other; belief rating is now optional and collapsed by default.
- 1.6.0
- System backup turned off. The app no longer permits Android backup, so thought records cannot reach a Google account; explicit export is the only recovery path.
- 1.5.0
- Optional app lock added, using fingerprint, face or device password; recent-apps previews hidden and screenshots blocked while locked.