Updated October 24, 2026.
GhostPair is a free personal project operated by Thomas Serna in Colombia. Contact xthoms321@gmail.com for support and privacy requests.
The official signaling service is https://ghostpair-3c9f3903aad3.herokuapp.com, hosted on Heroku with PostgreSQL. Render was the previous provider. This policy is also available at https://thomasserna.github.io/GhostPair/privacy.html and at the official signaling service's /privacy address.
GhostPair lets two people share and control authorized browser tabs. The host starts each session, chooses a password, and authorizes each captured tab locally. The host can pause or end the session. Anyone with the host's address and password can join while that session is available.
The extension transmits video of the active authorized tab, titles and addresses of tabs in the shared window, and page interaction instructions to the authorized participant. New tabs require host approval before their content is shared. If both participants enable synchronization, the extension also transmits new Windows clipboard text, including text copied in other applications. Files, clipboard images, and audio are not included.
Signaling uses a random installation identifier, an owner credential, a session password, and technical WebRTC connection data. The signaling server and STUN process IP addresses; a remote participant can also learn the other participant's IP address.
Visual-only sessions keep simulated text and selections in extension-managed memory on the shared page. The host can edit and move this text; it is visible to the guest in the shared video. Simulated text is cleared on navigation, mode or tab changes, pause, control withdrawal, session end, manual clearing or its configured expiration. Local copy/cut/paste uses the host's clipboard gestures independently of optional continuous clipboard synchronization. The original form values are not rewritten by these previews.
Video, control, and clipboard text travel directly through encrypted WebRTC connections. They do not pass through signaling and are not relayed by TURN. Production signaling uses HTTPS/WSS. The signaling operator authenticates pairing and temporarily receives the session password for verification.
The extension retains installation identity and settings locally until you clear its data or uninstall it. The official server retains the installation identifier, registration timestamp and owner-credential hash in PostgreSQL to preserve the connection code until a verified deletion request. Session state and the session password verifier are held temporarily in memory and removed when the session ends or the server process stops. The application does not retain recordings, clipboard history, shared page content, or signaling message bodies in logs.
Hosting, database and STUN providers process connection metadata such as IP addresses. Infrastructure logs are separate from application payloads. The active Heroku app uses Cedar/Logplex with no external log drains, confirmed on October 24, 2026. Logplex retains up to 1,500 recent lines, expiring after one week; high volume can remove older lines sooner. Heroku router logs can include IP addresses and request metadata. Any retained logs or backups from the previous Render service require separate confirmation, so this policy does not promise a specific expiration for those older provider-controlled copies.
No Heroku PGBackups schedule was configured, and no PGBackups backups, restores or copies were listed when checked on October 24, 2026. If scheduled backups are enabled, this policy must be updated to their actual retention. The operator's policy is to remove manual backups and migration copies after successful validation and no later than 30 days after each copy is created; a provider's backup-count limit is not a time-based expiration. See Heroku logging and PGBackups retention.
Email xthoms321@gmail.com with the connection code and signaling service whose registration you want deleted. To prevent someone else from deleting your registration, support will coordinate a short-lived host session for that code and verify that you control the installation. Use a blank or synthetic page. Do not email session passwords, owner credentials, database credentials, browser storage exports, or other secrets.
Within 30 days after ownership verification, the operator manually removes the registration from the active database and confirms completion; there is no automatic deletion endpoint. Deletion invalidates that registration and its connection code. It does not remotely clear the extension's saved identity. To use the service again after deletion, end any session and clear GhostPair's extension data or reinstall it to obtain a new code; this also removes locally saved settings. Clearing local extension data alone does not delete the server record. If the installation has been lost, contact support; a connection code alone is not proof of ownership.
A deleted registration may remain in backups until those copies expire or are explicitly removed. Manual copies are explicitly removed by their 30-day creation deadline, including copies containing a verified deletion; provider-managed copies follow their configured retention. A minimal record of the deleted identifier and deletion date is kept until all relevant older backups are gone, so deletions can be reapplied before a restored database returns to service. Privacy-request emails are used to process and verify the request, not for marketing.
You can stop the session from GhostPair or with its configured shortcut. You can withdraw control, release an authorized tab, or disable clipboard synchronization. Native browser capture indicators remain visible, and permissions can be revoked in the browser. A canceled capture requires fresh local authorization. Closing or reloading the guest page ends its connection. Uninstalling the extension or clearing its data removes the local identity; it does not automatically delete an existing server registration.
Information received from Chrome APIs is used only for the collaboration features described here, in accordance with the Chrome Web Store User Data Policy and its Limited Use requirements. GhostPair does not include advertising or sell data. A remote participant receives content for the authorized session; choose participants you trust.
Operator: Thomas Serna. Country: Colombia. Support and privacy: xthoms321@gmail.com. Current service: https://ghostpair-3c9f3903aad3.herokuapp.com.