|
| 1 | +# Chrome Web Store submission — PromptVault |
| 2 | + |
| 3 | +Everything you need to fill the CWS dashboard. The upload artifact is |
| 4 | +`apps/extension/promptvault-extension.zip` (built from `dist/`). |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## Item basics |
| 9 | + |
| 10 | +- **Name:** PromptVault |
| 11 | +- **Version:** 1.0.0 (from `manifest.json`) |
| 12 | +- **Category:** Productivity |
| 13 | +- **Language:** English (United Kingdom) / English |
| 14 | + |
| 15 | +## Short description (≤ 132 chars) |
| 16 | + |
| 17 | +``` |
| 18 | +Save reusable AI prompts in your own Google Drive and inject them into Claude, ChatGPT, Gemini, or any text field. |
| 19 | +``` |
| 20 | + |
| 21 | +## Detailed description |
| 22 | + |
| 23 | +``` |
| 24 | +PromptVault is a clipboard manager built for AI prompts. Save the instructions you retype every day — prefaces, guardrails, personas, personal context, snippets — and drop any of them into Claude, ChatGPT, Gemini, or any text field on the web with a click or a right-click. |
| 25 | +
|
| 26 | +WHY PROMPTVAULT |
| 27 | +• Your library, your storage. Prompts live in YOUR Google Drive (in a single PromptVault folder), not on our servers — because we don't run any. |
| 28 | +• Works everywhere you type. Inject a saved prompt at the cursor in any website's text box, or capture selected text into your library. |
| 29 | +• Organised. Categories, tags, and instant search. |
| 30 | +• Private. No accounts to create with us, no analytics, no telemetry, no ads. |
| 31 | +• Free forever. It uses storage you already own. |
| 32 | +
|
| 33 | +HOW IT WORKS |
| 34 | +1. Install and open the setup page. |
| 35 | +2. Connect your Google account (least-privilege access — PromptVault can only see the files it creates). |
| 36 | +3. Save prompts, then right-click or use the toolbar popup to inject them anywhere. |
| 37 | +
|
| 38 | +The companion web app at https://prompt-vault-01.web.app manages the same library from any browser. |
| 39 | +
|
| 40 | +PromptVault requests only the drive.file and email scopes, and its use of Google user data follows the Google API Services User Data Policy, including the Limited Use requirements. |
| 41 | +``` |
| 42 | + |
| 43 | +## Privacy policy URL (required) |
| 44 | + |
| 45 | +``` |
| 46 | +https://prompt-vault-01.web.app/privacy |
| 47 | +``` |
| 48 | + |
| 49 | +## Homepage / support URL |
| 50 | + |
| 51 | +``` |
| 52 | +https://prompt-vault-01.web.app |
| 53 | +``` |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +## Single purpose (required field) |
| 58 | + |
| 59 | +``` |
| 60 | +PromptVault stores reusable text prompts in the user's own Google Drive and inserts a chosen prompt into the focused text field on any website. |
| 61 | +``` |
| 62 | + |
| 63 | +## Permission justifications (paste one per permission) |
| 64 | + |
| 65 | +| Permission | Justification | |
| 66 | +|---|---| |
| 67 | +| `storage` | Caches the user's prompt library locally for fast, offline access between sessions. | |
| 68 | +| `identity` | Lets the user sign in to their own Google account so prompts can be stored in their Google Drive. Uses `chrome.identity.launchWebAuthFlow`; no credentials are seen by the extension. | |
| 69 | +| `contextMenus` | Adds the right-click items "Inject prompt" and "Save selection to PromptVault". | |
| 70 | +| `clipboardWrite` | Copies a prompt to the clipboard as a fallback when no editable field is focused at injection time. | |
| 71 | +| `alarms` | Schedules a periodic background sync of the prompt library with the user's Google Drive. | |
| 72 | +| **Host permission `<all_urls>`** | The core feature inserts a user-selected prompt into the focused text field on whatever site the user is on. A content script must be able to run on all sites to do this. The content script only writes the chosen prompt's text into a field — it never reads or transmits page content. | |
| 73 | +| Host `https://www.googleapis.com/*` | Calls the Google Drive API to read/write the user's PromptVault folder and `vault.json`. | |
| 74 | +| Host `https://accounts.google.com/*` | Google sign-in / OAuth flow. | |
| 75 | + |
| 76 | +**Are you using remote code?** No. All JavaScript is bundled in the package; the extension loads no external scripts. (Authentication uses Chrome's built-in `chrome.identity` API.) |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## Privacy practices / data usage (the certification form) |
| 81 | + |
| 82 | +PromptVault transmits data only between the user's browser and the user's own Google account; **the developer operates no server and collects nothing**. Recommended answers: |
| 83 | + |
| 84 | +- **Data handled:** *Authentication information* (an OAuth token + the account email, kept on-device / used only to access the user's own Drive). Prompts are user-authored text stored in the user's own Drive. No other categories (no location, financial, health, web history, etc.). |
| 85 | +- **Sold to third parties?** No. |
| 86 | +- Tick all three required certifications: |
| 87 | + - ☑ I do not sell or transfer user data to third parties outside the approved use cases. |
| 88 | + - ☑ I do not use or transfer user data for purposes unrelated to my item's single purpose. |
| 89 | + - ☑ I do not use or transfer user data to determine creditworthiness or for lending. |
| 90 | + |
| 91 | +> Note: "collect" on this form means transmitting data off the device to the developer or third parties. PromptVault does neither — data goes only to the user's own Google Drive. If the form requires you to declare data that *leaves the device at all*, declare **Authentication information** and **Personal communications** (the prompt text), and rely on the certifications above. |
| 92 | +
|
| 93 | +--- |
| 94 | + |
| 95 | +## Graphics |
| 96 | + |
| 97 | +Required: |
| 98 | +- **Store icon 128×128** — `dist/icon128.png` (included). |
| 99 | +- **At least 1 screenshot** — 1280×800 or 640×400, PNG/JPEG (up to 5). |
| 100 | + |
| 101 | +Optional: |
| 102 | +- Small promo tile 440×280; Marquee 1400×560. |
| 103 | + |
| 104 | +### Screenshots to capture (load the unpacked extension first — see below) |
| 105 | +1. The toolbar **popup** showing a few saved prompts (Inject / Copy buttons). |
| 106 | +2. The **dashboard** with the card grid, category chips, and the Drive panel showing "Connected". |
| 107 | +3. The **onboarding** page (the guided Google setup). |
| 108 | +4. (Nice) An **inject in action** on the ChatGPT/Claude composer with a prompt dropped in. |
| 109 | + |
| 110 | +Capture at a 1280×800 window. On macOS: Shift-Cmd-4 then Space to grab a window, or set the Chrome window to 1280×800. |
| 111 | + |
| 112 | +--- |
| 113 | + |
| 114 | +## Pre-submission checklist |
| 115 | + |
| 116 | +1. Build a fresh package: `npm -w apps/extension run package` → produces `apps/extension/promptvault-extension.zip`. |
| 117 | +2. Smoke-test locally: `chrome://extensions` → Developer mode → **Load unpacked** → select `apps/extension/dist/` → no errors; complete onboarding; inject a prompt into a textarea. |
| 118 | +3. Register/long in to the **Chrome Web Store Developer Dashboard** (one-time US$5 registration if you haven't). |
| 119 | +4. **Add new item** → upload `promptvault-extension.zip`. |
| 120 | +5. Fill **Store listing** (name, descriptions, category, language, screenshots, icon). |
| 121 | +6. Fill **Privacy** tab: single purpose, each permission justification, "remote code: No", privacy policy URL, and the data-use certifications above. |
| 122 | +7. **Account** tab: verify a contact email (required before publishing). |
| 123 | +8. Submit for review. First reviews typically take a few days. Because scopes are non-sensitive (`drive.file` + `email`), no separate OAuth verification is required. |
| 124 | + |
| 125 | +## After publishing |
| 126 | +- Put the published Web Store URL into `apps/web/src/config.js` (`EXTENSION_URL`) and the landing CTA so the website links to it. |
0 commit comments