This policy applies to airhockey.plyyard.com, maintained by Ply Yard. Playing does not require registration, your real name, email address, phone number or payment details. No sign-up does not mean no data processing: online play transmits game state and access credentials, and hosting services handle network requests.
Data in your browser
Your light or dark theme is kept in localStorage so it can be used on your next visit. AI difficulty, target score, trail and sound settings, and the scores, time, hits and goal logs for AI and Two-Player games apply to the current page. They are not match saves that survive a refresh.
AI runs on your device; local matches do not need to be sent to a cloud AI service. Loading the page and its resources still requires a network connection. Online play has separate data transfers described below.
Online mode uses localStorage and sessionStorage to keep a random browser identifier, recent and current rooms, public-room management information, and host, invite and seat reconnection credentials. These support room-creation limits, room management and reconnection attempts. They are not real-name accounts, but access credentials should be kept private.
Adding the site to your Home Screen or Dock may retain an icon, app information and cached resources in the browser or operating system. It does not create a permanent match save or guarantee offline play. Whether removing the shortcut clears site data depends on your browser and system.
Online rooms and credentials
When you create, join or manage a room, your browser sends room requests, its identifier and the relevant credentials to the room service. During play, WebSocket messages carry mallet positions, puck position and velocity, scores, target score and serve state, along with restart, match-end and room-close messages.
The server relays and temporarily stores room status, game state, playing seats, generic player labels, access credentials, and creation and activity times. Players and viewers in the room can see the table, scores, player labels and connection status. The public lobby shows public room codes and information such as whether a room is waiting or in play.
Private rooms are unlisted, but someone with the room URL or code may still access, join or watch them. A private room does not verify visitors' identities. Do not display its URL in public posts or livestreams.
Room codes, invites, host credentials and seat reconnection tokens serve different purposes. The address bar may include a seat token in an st parameter; forwarding it may let someone attempt to take over your seat. Check links produced by the invite feature for this parameter too. Do not share your own reconnection URL as an ordinary invite, and hide credentials in screenshots and feedback emails.
To limit repeated room creation, the server processes a hash of the IP address and request counts. Public-room quotas use a hash of the random browser identifier. Hashing is not complete anonymity; the hosting service still handles the original IP address needed to serve requests.
Hosting, technical requests and analytics
Cloudflare provides hosting, online infrastructure and security services. It may process IP addresses, request times and URLs, browser headers and runtime logs to deliver content, prevent abuse and investigate faults. Request URLs may contain room codes or access parameters. Do not add unnecessary personal information to them.
The site currently does not load Google Analytics or advertising scripts in its pages and has no in-site analytics or cookie-management switch. Theme and room credentials use browser storage, not analytics cookies. This does not mean the hosting service processes no technical information.
Retention of hosting logs and other provider-held data also depends on the relevant service settings and policies. Links to the studio or other games lead to separate sites: check their privacy notices rather than treating this policy as a shared setting for every site.
Feedback emails and children
If you write to contact@plyyard.com, we receive your sender address, email headers, and the text, screenshots, attachments and device details you provide. These are used to investigate issues, reply and handle privacy requests, not to build a marketing list.
Send only relevant information and hide notifications, personal details and room credentials. Do not send passwords, payment details, identity documents or unnecessary information about others. See the feedback instructions for how to submit a report safely.
The site does not ask for age information or verify ages. Parents and guardians should help children avoid publishing private room links or revealing names, schools, addresses or contact details in emails and screenshots.
Retention and clearing data
Theme and local room information are affected by browser storage settings and clearing actions; they are not deleted on the server's room schedule. Starting a new game clears that game's scores and log, not your theme or all room credentials.
Room expiry depends on status and activity. These are the current defaults; renewed activity, status changes or service configuration changes can affect the timing. They describe when rooms expire, not when every related record is deleted.
| Room state | Default condition |
|---|---|
| Waiting to start | 30 minutes from creation or the latest activity. |
| Match finished | 10 minutes from the latest activity. Finished status takes priority over the offline condition. |
| Unfinished, both playing seats offline | 20 minutes from the point when all playing-seat connections are disconnected. Viewers do not extend this period. |
| In progress, at least one player connected | 3 hours from the latest activity. Continued activity updates the timer. |
When a room closes or expires, the server clears the game state, seat information and access credentials and removes the room from the public lobby. Records such as the room code and timestamps may remain. Old invites cannot restore a match, and temporary storage does not guarantee that reconnection will restore the full goal log or the previous game state.
Room-creation rate limits use a 10-minute window. Public-room quota entries are released on closure; entries not released normally expire after a 3-hour window. Expired entries are cleaned up during later related operations, not necessarily deleted from storage at the exact expiry time.
To clear local data, find airhockey.plyyard.com in your browser's site-data settings. Clear localStorage, sessionStorage, cookies and caches as needed, then close the site's tabs. Deleting browsing history or removing a shortcut alone may not clear site storage.
Local clearing does not delete server records, emails, bookmarks or links already shared. Opening an old URL with a valid seat token may still return you to that seat. To end room access, the host should close the room, or the room must expire.
Technical logs and emails do not follow room time limits; this policy does not promise that they are all deleted automatically. You can ask about retention of identifiable records or request access, correction or deletion using the contact below.
Policy updates and privacy contact
Material changes to browser storage, room services or third-party data processing will be reflected in this page and its update date. For a privacy question or data request, include the site domain, data category, relevant time range and requested action. Full access credentials are not needed.
We review requests against records we can identify and applicable requirements. We may need further information if a record cannot be identified. Privacy contact: contact@plyyard.com.
Before clearing local data
- Copy any goal log you need. If you want to end a room, have the host close it first.
- Clear this site's browser data and close its tabs.
- Reopen the homepage without room or seat credentials in the URL.
Clearing local data and requesting deletion of server data are separate actions. The first does not automatically trigger the second.
Send a privacy question