Paneward Privacy Policy
Effective date: 2026-09-24 · Applies to: Paneward browser extension version 1.0.0, the Paneward Remote web app and the Paneward relay service.
Paneward ("Paneward", "we") is a browser extension developed by bhavik.id (https://bhavik.id/). It places a privacy curtain over your normal web pages until you unlock it with your password or PIN. Paneward is designed to prevent casual access to your normal web browsing session when you step away. It is not a replacement for your operating system's user account or screen lock.
Summary
- Your password, PIN and recovery key never leave your device. Paneward stores only salted hashes of them, in your Chrome profile.
- Paneward does not read, collect or transmit the content of the web pages you visit, your form data, your keystrokes, your URLs, your page titles or your browsing history.
- Paneward has no accounts and contains no analytics, telemetry, advertising, tracking or fingerprinting.
- If — and only if — you turn on the optional Remote Lock feature, the Paneward relay service processes a small set of technical identifiers needed to deliver a "lock" (or, if you allow it, "unlock") command from your phone. Details are below.
- We do not sell, rent or share your data, and we do not use it for advertising or credit decisions.
1. Data stored on your device (local mode)
Paneward saves the following in your browser's extension storage (chrome.storage), inside the Chrome profile where it is installed. It is not sent to us or to anyone else.
| Data | Why | Form |
|---|---|---|
| Password or PIN verifier | To check your password or PIN when you unlock | Salted PBKDF2-HMAC-SHA-256 hash (600,000 iterations). Never the password or PIN itself. |
| Recovery key verifier | To let you reset a forgotten password or PIN | Salted PBKDF2 hash. Never the recovery key itself. |
| Lock state | Whether the browser is locked, why, and since when | e.g. "locked, after inactivity, 10:42" |
| Settings | Your auto-lock, startup-lock and theme choices | Plain values |
| Failed-attempt counter | To apply the wait after repeated wrong attempts | A count and timestamps |
| Usage counters | To decide whether to show the optional rating prompt | Install date, number of locks/unlocks, dates the prompt was shown or dismissed |
| Remote Lock registration (only if enabled) | To manage your paired phones | A random device identifier, a random management key, pairing identifiers with the names you typed, and recent command identifiers (for replay protection) |
Your password or PIN is entered only on Paneward's own extension pages (the toolbar popup or the Paneward unlock window), never into a web page.
Deleting this data: removing the extension from Chrome deletes all of it.
2. Access to web pages
To show the privacy curtain, Paneward needs permission to run a small script on normal web pages (http:// and https://). Chrome describes this as "Read and change all your data on all websites". The script only draws and removes the curtain and blocks input to the page while it is locked. It does not read or store page text, images, form contents, passwords typed into websites, keystrokes, cookies, URLs or titles, and it does not send anything anywhere.
3. What Paneward never collects
- Passwords, PINs or recovery keys (in any readable form)
- Web page content, form data or keystrokes
- URLs, page titles, tabs or browsing history
- Your name, e-mail address or any account information (there are no accounts)
- Location, contacts, files or health or financial information
- Analytics, telemetry, crash reports, advertising identifiers or device fingerprints
4. Remote Lock (optional, off by default)
Remote Lock lets a phone you pair send lock to your browser, and — only if you turn on Allow unlock from phone — unlock. Each unlock is signed on your phone with a key that never reaches the relay. The phone cannot read anything from your browser.
When you turn Remote Lock on, Chrome asks you to allow its push permission (shown as "Display notifications"). Paneward uses this only to receive commands from your phone and never shows notifications. Then your browser registers with the Paneward relay service (https://paneward-relay.panewardnew.workers.dev).
The relay service stores:
- a random device identifier created by the extension;
- a SHA-256 hash of a random management key (the key itself stays in your browser);
- your browser's push subscription (a push-service address and the public encryption keys the browser generated for it), which is needed to deliver the command;
- for each paired phone, a random pairing identifier and a SHA-256 hash of a random 256-bit pairing key;
- timestamps (created, last updated, last lock) and short-lived rate-limit counters keyed by the device identifier.
The relay service never receives your password, PIN or recovery key, your tabs, URLs, browsing history or page content, your name or e-mail, or the names you give your browser and phone (those stay on your devices).
Pairing a phone: the pairing code (QR or link) contains the device identifier, the pairing identifier, the pairing key and the relay address. It is placed after the "#" in the link, which browsers do not send to web servers. The Paneward Remote web app (https://paneward.bhavik.id/remote/) stores it only on your phone, in the browser's IndexedDB, encrypted with a key that cannot be exported.
Sending a lock command: the phone sends the device identifier, pairing identifier, pairing key and a random request identifier to the relay. The relay checks the pairing key against its stored hash, then sends an end-to-end encrypted message { "type": "LOCK" } (with the request identifier and time) through your browser's push service. For Chrome, the push service is operated by Google (Firebase Cloud Messaging). It sees only encrypted data.
Sending an unlock command (only if you turned on phone unlock): the phone additionally signs the request with a per-pairing unlock key (HMAC-SHA-256). That key is created by the extension, travels to your phone only inside the pairing code, and is never sent to the relay. The relay forwards the signature unchanged; your browser checks it and unlocks only if it is valid, recent and not reused. Your password and PIN are never sent.
IP addresses and logs: like any internet service, the relay's hosting provider (Cloudflare) receives your IP address when your browser or phone connects. Paneward's code does not read, log or store IP addresses, and request logging is turned off in the relay's configuration. Cloudflare and Google process network data under their own privacy policies: https://www.cloudflare.com/privacypolicy/ and https://policies.google.com/privacy.
Retention: turning Remote Lock off deletes your registration from the relay (when the relay is reachable). Revoking a phone deletes its pairing immediately. Rate-limit counters are deleted after 2 days, and registrations unused for 400 days are deleted automatically.
Local locking never depends on this service. If the relay, your phone or the internet is unavailable, everything else keeps working.
5. Sharing
We do not sell or transfer your data to third parties. The only service providers involved are those needed to deliver Remote Lock commands (Cloudflare for hosting the relay, and your browser vendor’s push service), and only when you use Remote Lock. We do not use or transfer data for advertising, for determining creditworthiness, or for any purpose unrelated to Paneward's single purpose. No human at bhavik.id reads your data.
Chrome Web Store Limited Use: the use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.
6. Security
Credentials are hashed with PBKDF2-HMAC-SHA-256 and a random salt using the browser's built-in Web Crypto. Repeated wrong attempts trigger increasing waits. The extension contains no remote code. Relay traffic uses HTTPS; push messages are encrypted end to end (RFC 8291) and signed with VAPID (RFC 8292). Paneward is designed to prevent casual access to your normal web browsing session when you step away. It is not a replacement for your operating system's user account or screen lock.
7. Children
Paneward is a general-audience utility. It does not knowingly collect personal information from anyone, including children.
8. Your choices
- Change your settings, password or PIN at any time in Paneward's settings.
- Turn Remote Lock off, or revoke individual phones, in Settings → Remote Lock.
- Remove the extension to delete all locally stored data.
9. Changes
If this policy changes, we will update the effective date above and publish the new version at https://paneward.bhavik.id/privacy/. If a future version collects new kinds of data, we will describe it here and in the Chrome Web Store listing before it ships.
10. Contact
Use the support page at https://paneward.bhavik.id/support/, or the developer contact e-mail shown on Paneward's Chrome Web Store listing.