Paneward

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

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

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:

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

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.