Skip to content

Commit 254bc4f

Browse files
devsemihclaude
andcommitted
Update README for v1.0 release with SEO optimization
- Remove Gatekeeper workaround (app is now signed and notarized) - Add build status and privacy badges - Add SEO-optimized title, keywords, and descriptions - Add "Why AppJail?" section for competitive positioning - Link to latest release instead of generic releases page Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6e3e8ee commit 254bc4f

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

README.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
1-
# AppJail
1+
# AppJail — Block Distracting Apps & Browser Tabs on macOS
22

3-
A lightweight macOS menu bar utility that blocks distracting apps and browser tabs.
3+
A free, open-source macOS menu bar app that blocks distracting applications and browser tabs to help you stay focused. No background polling, no network requests, no browser extensions required.
44

55
AppJail sits in your menu bar and enforces focus by terminating blocked applications and closing browser tabs that match URL keywords — all powered by native macOS APIs.
66

7-
![macOS](https://img.shields.io/badge/macOS-26.0%2B-black?logo=apple)
7+
[![Build & Release](https://github.com/devsemih/appjail/actions/workflows/build.yml/badge.svg)](https://github.com/devsemih/appjail/actions/workflows/build.yml)
8+
![macOS](https://img.shields.io/badge/macOS-15.0%2B-black?logo=apple)
89
![Swift](https://img.shields.io/badge/Swift-6-orange?logo=swift)
910
![License](https://img.shields.io/badge/License-MIT-blue)
11+
![Privacy](https://img.shields.io/badge/Privacy-No_Telemetry-green)
1012

1113
## Features
1214

1315
- **Block Apps** — Toggle any installed application to blocked. When activated, the app is immediately terminated.
14-
- **Block Browser Tabs** — Add URL keywords (e.g. `youtube`, `reddit`, `twitter`). Matching tabs are closed when you switch to a browser.
15-
- **Menu Bar Only** — Runs entirely from the menu bar with no dock icon.
16+
- **Block Browser Tabs** — Add URL keywords (e.g. `youtube`, `reddit`, `twitter`). Matching tabs are closed automatically — no browser extension needed.
17+
- **Menu Bar Only** — Runs entirely from the menu bar with no dock icon. Minimal, distraction-free interface.
1618
- **Event-Driven** — Monitors app switches via `NSWorkspace` notifications. No polling, no CPU waste.
19+
- **Privacy-First** — No network requests, no telemetry, no tracking. Everything runs locally on your Mac.
1720
- **Violation Alerts** — A floating panel appears briefly when a blocked app or URL is caught.
18-
- **Persistent** — Your block lists survive app restarts (stored in UserDefaults).
21+
- **Persistent Block Lists** — Your block lists survive app restarts (stored in UserDefaults).
1922

2023
## Supported Browsers
2124

@@ -35,13 +38,9 @@ AppJail sits in your menu bar and enforces focus by terminating blocked applicat
3538

3639
### Download
3740

38-
Download the latest DMG from [Releases](https://github.com/devsemih/appjail/releases), open it, and drag **appjail** to your Applications folder.
41+
Download the latest `AppJail.dmg` from [Releases](https://github.com/devsemih/appjail/releases/latest), open it, and drag **AppJail** to your Applications folder.
3942

40-
Since the app is not notarized, macOS may show a "damaged" warning. Run this after installing:
41-
42-
```bash
43-
xattr -cr /Applications/appjail.app
44-
```
43+
The app is signed and notarized by Apple — just download, install, and run.
4544

4645
### Build from Source
4746

@@ -51,7 +50,7 @@ cd appjail
5150
xcodebuild -project appjail.xcodeproj -scheme appjail -configuration Release
5251
```
5352

54-
Requires **Xcode 26.2+** and **macOS 26.0+**.
53+
Requires **Xcode 16+** and **macOS 15.0+**.
5554

5655
## Permissions
5756

@@ -62,16 +61,20 @@ AppJail needs two permissions on first launch:
6261
| **Accessibility** | To monitor which app is frontmost and terminate blocked apps |
6362
| **Automation** | To read browser URLs and close tabs via AppleScript |
6463

65-
The onboarding screen guides you through granting both. You can manage them later in **System Settings Privacy & Security**.
64+
The onboarding screen guides you through granting both. You can manage them later in **System Settings > Privacy & Security**.
6665

6766
## How It Works
6867

6968
1. AppJail observes `NSWorkspace.didActivateApplicationNotification` to detect app switches.
7069
2. When a blocked app comes to the foreground, it calls `terminate()` on the process.
71-
3. When a registered browser activates and URL keywords exist, it waits 300ms for the page to load, reads the active tab URL via AppleScript, and closes the tab if a keyword matches.
70+
3. When a browser activates and URL keywords exist, it reads the active tab URL via AppleScript and closes the tab if a keyword matches.
7271

7372
No background polling. No network requests. Everything runs locally.
7473

74+
## Why AppJail?
75+
76+
Unlike browser extensions or network-level blockers, AppJail blocks both apps and browser tabs from a single native menu bar interface. Compared to tools like SelfControl, Cold Turkey, or Freedom — AppJail is lightweight, open source, and works across 8+ browsers without modifying network settings or requiring a subscription.
77+
7578
## Architecture
7679

7780
```

0 commit comments

Comments
 (0)