Change all references from git.mleku.dev/mleku/plebeian-signer to github.com/PlebeianApp/plebeian-signer for the public release. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.2 KiB
Extension Store Publishing Guide
This guide walks you through publishing Plebeian Signer to the Chrome Web Store and Firefox Add-ons.
Table of Contents
Assets You Need to Create
Before submitting to either store, prepare these assets:
Screenshots (Required for both stores)
Create 3-5 screenshots showing the extension in action:
- Main popup view - Show the identity card with profile info
- Permission prompt - Show a signing request popup
- Identity management - Show the identity list/switching
- Permissions page - Show the permissions management
- Settings page - Show vault settings and options
Specifications:
- Chrome: 1280x800 or 640x400 pixels (PNG or JPEG)
- Firefox: 1280x800 recommended (PNG or JPEG)
Tips:
- Use a clean browser profile
- Show realistic data (not "test" or placeholder text)
- Capture the full popup or relevant UI area
- Consider adding captions/annotations
Promotional Images (Chrome only)
Chrome Web Store uses promotional tiles:
| Size | Name | Required |
|---|---|---|
| 440x280 | Small promo tile | Optional but recommended |
| 920x680 | Large promo tile | Optional |
| 1400x560 | Marquee promo tile | Optional |
Design tips:
- Include the extension icon/logo
- Add a tagline like "Secure Nostr Identity Manager"
- Use brand colors
- Keep text minimal and readable
Icon (Already exists)
You already have icons in the extension:
icon-48.png- 48x48icon-128.png- 128x128
Chrome also wants a 128x128 icon for the store listing (can use the same one).
Privacy Policy URL
You need to host the privacy policy at a public URL. Options:
- GitHub/Gitea Pages - Host
PRIVACY_POLICY.mdas a webpage - Simple webpage - Create a basic HTML page
- Gist - Create a public GitHub gist
Example URL format: https://github.com/PlebeianApp/plebeian-signer/blob/main/docs/store/PRIVACY_POLICY.md
Chrome Web Store
Step 1: Create Developer Account
- Go to https://chrome.google.com/webstore/devconsole
- Sign in with a Google account
- Pay the one-time $5 USD registration fee
- Accept the developer agreement
Step 2: Create New Item
- Click "New Item" button
- Upload
releases/plebeian-signer-chrome-v1.0.5.zip - Wait for the upload to process
Step 3: Fill Store Listing
Product Details:
- Name: Plebeian Signer
- Summary: Copy from
STORE_DESCRIPTION.md(short description, 132 chars max) - Description: Copy from
STORE_DESCRIPTION.md(full description) - Category: Productivity
- Language: English
Graphic Assets:
- Upload your screenshots (at least 1 required, up to 5)
- Upload promotional tiles if you have them
Additional Fields:
- Official URL:
https://github.com/PlebeianApp/plebeian-signer - Support URL:
https://github.com/PlebeianApp/plebeian-signer/issues
Step 4: Privacy Tab
- Single Purpose: "Manage Nostr identities and sign cryptographic events for web applications"
- Permission Justifications:
storage: "Store encrypted vault containing user's Nostr identities and extension settings"activeTab: "Inject NIP-07 interface into the active tab when user visits Nostr applications"scripting: "Enable communication between web pages and the extension for signing requests"
- Data Usage: Check "I do not sell or transfer user data to third parties"
- Privacy Policy URL: Your hosted privacy policy URL
Step 5: Distribution
- Visibility: Public
- Distribution: All regions (or select specific ones)
Step 6: Submit for Review
- Review all sections show green checkmarks
- Click "Submit for Review"
- Wait 1-3 business days (can take longer for first submission)
Chrome Review Notes
Google may ask about:
- Why you need each permission
- How you handle user data
- Your identity/organization
Be prepared to respond to reviewer questions via the dashboard.
Firefox Add-ons
Step 1: Create Developer Account
- Go to https://addons.mozilla.org/developers/
- Sign in with a Firefox account (create one if needed)
- No fee required
Step 2: Submit New Add-on
- Click "Submit a New Add-on"
- Select "On this site" for hosting
- Upload
releases/plebeian-signer-firefox-v1.0.5.zip - Wait for automated validation
Step 3: Source Code Submission
Firefox may request source code because the extension uses bundled/minified JavaScript.
If prompted:
- Create a source code zip (exclude
node_modules):cd /home/mleku/src/git.mleku.dev/mleku/plebeian-signer zip -r plebeian-signer-source.zip . -x "node_modules/*" -x "dist/*" -x ".git/*" - Upload this zip when asked
- Include build instructions (point to CLAUDE.md or add a note):
Build Instructions: 1. npm ci 2. npm run build:firefox 3. Output is in dist/firefox/
Step 4: Fill Listing Details
Basic Information:
- Name: Plebeian Signer
- Add-on URL:
plebeian-signer(creates addons.mozilla.org/addon/plebeian-signer) - Summary: Copy short description from
STORE_DESCRIPTION.md - Description: Copy full description (supports some HTML/Markdown)
- Categories: Privacy & Security
Additional Details:
- Homepage:
https://github.com/PlebeianApp/plebeian-signer - Support URL:
https://github.com/PlebeianApp/plebeian-signer/issues - License: Select appropriate license
- Privacy Policy: Paste URL to hosted privacy policy
Media:
- Icon: Already in the extension manifest
- Screenshots: Upload your screenshots
Step 5: Submit for Review
- Ensure all required fields are complete
- Click "Submit Version"
- Wait for review (usually hours to a few days)
Firefox Review Notes
Firefox reviewers are generally faster but thorough. They may:
- Ask for source code (see Step 3)
- Question specific code patterns
- Request changes for policy compliance
Ongoing Maintenance
Updating the Extension
For new releases:
- Build new version:
/release patch(orminor/major) - Upload the new zip to each store
- Add release notes describing changes
- Submit for review
Chrome:
- Go to Developer Dashboard → Your extension → Package → Upload new package
Firefox:
- Go to Developer Hub → Your extension → Upload a New Version
Responding to Reviews
Both stores may contact you with:
- Policy violation notices
- User reports
- Review questions
Monitor your developer email and respond promptly.
Version Numbering
Both stores extract the version from manifest.json. Your current setup with v1.0.5 in package.json feeds into the manifests correctly.
Checklist
Before First Submission
- Create 3-5 screenshots
- Create promotional images (Chrome, optional but recommended)
- Host privacy policy at a public URL
- Test the extension zip by loading it unpacked
- Prepare source code zip for Firefox
Chrome Web Store
- Register developer account ($5)
- Upload extension zip
- Fill all required listing fields
- Add screenshots
- Add privacy policy URL
- Justify all permissions
- Submit for review
Firefox Add-ons
- Register developer account (free)
- Upload extension zip
- Upload source code if requested
- Fill all required listing fields
- Add screenshots
- Add privacy policy URL
- Submit for review
Helpful Links
- Chrome Developer Dashboard: https://chrome.google.com/webstore/devconsole
- Chrome Publishing Docs: https://developer.chrome.com/docs/webstore/publish/
- Firefox Developer Hub: https://addons.mozilla.org/developers/
- Firefox Extension Workshop: https://extensionworkshop.com/documentation/publish/
Estimated Timeline
| Task | Time |
|---|---|
| Create screenshots | 30 min - 1 hour |
| Create promotional images | 1-2 hours (optional) |
| Host privacy policy | 15 min |
| Chrome submission | 30 min |
| Chrome review | 1-3 business days |
| Firefox submission | 30 min |
| Firefox review | Hours to 2 days |
Total: You can have both submissions done in an afternoon, with approvals coming within a week.