1# Chrome Web Store listing
3Everything the Chrome Web Store developer dashboard asks for, ready to paste. The package is `diagonal-store.zip` from `npm run zip:store` (every release also attaches it).
8- **Summary (132 chars max):** Groups your tabs as you browse and names each group with Apple's on-device model. No cloud, nothing to press.
9- **Category:** Workflow & Planning
10- **Language:** English
13 > Diagonal keeps your tabs in named groups without you doing anything.
15 > Open and close tabs as usual. A link you open from a tab joins it in a group. Loose tabs are sorted into matching groups once you stop for a moment. Each group gets a short title with an emoji, written by Apple's on-device model on your Mac. Tabs you haven't touched in a day move to a collapsed Parked group, and you can restore anything Diagonal archived.
17 > Your choices win: groups you make yourself are left alone, a title you type is kept, and a tab you pull out of a group stays out.
19 > Requirements: a Mac with Apple silicon running macOS 27 with Apple Intelligence on, plus Diagonal's small helper program, installed with: brew install iko-soy/tap/diagonal
21 > Private by design: the model runs on your Mac and sees only each tab's title, address and a short summary of the page. Diagonal has no server and no analytics.
23- **Icon:** `icons/128.png`
24- **Screenshots (1280×800):** `docs/store/screenshot-popup.png`, `docs/store/screenshot-settings.png`
25- **Small promo tile (440×280):** `docs/store/promo-small.png`
26- **Homepage:** https://github.com/iko-soy/diagonal
27- **Support:** https://github.com/iko-soy/diagonal/issues
31- **Single purpose:** Organizes the browser's tabs into named tab groups.
32- **Permission justifications:**
33 - `tabs`: reads tab titles and addresses to decide which tabs belong together and to name groups.
34 - `tabGroups`: creates, names, collapses and removes the tab groups it manages.
35 - `storage`: keeps settings, which groups it manages, and archived tabs, on this computer.
36 - `alarms`: waits for tabs to settle before grouping, and runs the idle-tab tidy on a schedule.
37 - `nativeMessaging`: talks to Diagonal's helper on the Mac, which runs Apple's on-device model.
38 - `scripting`: reads the short page summary of tabs that were already open when Diagonal was installed.
39 - Host permissions `http://*/*`, `https://*/*`: the content script reads a short summary of each page (description tag, main heading, opening lines), which helps the model group and name tabs.
40- **Remote code:** No, it does not use remote code.
41- **Data usage:** collects "Web history" (tab titles and addresses) and "Website content" (a short summary of each page). Check the three certifications: not sold to third parties, not used for unrelated purposes, not used for creditworthiness or lending.
42- **Privacy policy URL:** https://github.com/iko-soy/diagonal/blob/master/PRIVACY.md
46- **Visibility:** Public (or Unlisted to share by link only)
49## After the first upload
51The store gives the listing its own extension ID. Put it in `STORE_ORIGIN` in `host/diagonal-host.py` as `chrome-extension://<id>/` so the helper accepts the store install, and set these repository secrets so every release uploads itself: `CWS_EXTENSION_ID`, `CWS_CLIENT_ID`, `CWS_CLIENT_SECRET`, `CWS_REFRESH_TOKEN` (see Google's guide, "Use the Chrome Web Store API").
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list