Privacy policy

Last updated: 29 September 2026.

This policy covers the current Busy Signal iOS and Android testing releases, browser preview, and website at playbusysignal.com. Busy Signal is developed and operated by Leonardo Lazzaro under the name LCUBO Studios. For privacy questions or requests to access or delete data, email support@playbusysignal.com.

You can play without optional browser analytics or the optional analytics offered by newer native builds. See Cookies & browser storage for the exact browser storage names, lifetimes, and consent controls, and Terms of use for the preview’s rules.

Purposes and legal bases

Where the GDPR applies, we process account and connection information to provide the account or online game you request (performance of a contract). Necessary security, troubleshooting, service operation, and limited server-side match statistics rely on our legitimate interests in keeping the service reliable, preventing abuse, and understanding its operation. Cookie-free, non-identifying website performance and visit measurements help us maintain the site; where those measurements involve personal data in transit, our basis is our legitimate interest in operating and improving the website. We must balance those interests against your rights. Responding to statutory requests and disclosures required by law relies on legal obligations. Support messages are processed to respond to your request and, where relevant, perform our agreement with you.

Optional browser practice reports and accessing a persistent browser analytics identifier rely on your consent. New native builds with an “Optional gameplay analytics” notice also require an affirmative choice before creating a persistent analytics identifier or collecting practice reports; no choice means off. You can change that choice in Settings or Account. Older native testing builds collected these statistics without this control; update to a build that offers it to use the new choice. You can decline or withdraw through Privacy settings without losing access to the browser game. Withdrawal does not affect the lawfulness of processing before withdrawal. Native iOS and Android releases do not use the browser consent control or browser cookies. Required network data is needed to deliver an online match; without it that feature cannot work. We do not use this data for automated decisions producing legal or similarly significant effects.

Playing on your device

The game saves settings, your chosen player name and character, and available local progress in its app storage. Releases with gameplay statistics enabled also save a random installation identifier and a bounded queue of practice activity records. Practice works offline; when collection is enabled, queued statistics are sent to our game service when a connection is available. In the browser, and in native builds with the optional analytics choice, practice records and persistent analytics identifiers are enabled only after your analytics consent. Declining does not prevent practice, account sign-in, or online play. Withdrawing native consent stops new practice uploads, attempts to cancel any upload in progress, and removes the local analytics identifier and unsent reports. A request already received by the service cannot be recalled. If device storage cannot save the withdrawal, the app tells you when analytics is off only for the current run; retry before restarting or clear the app’s data in device settings. A later opt-in starts with a new identifier and does not upload records left by an older testing build. Development and automated test builds do not upload practice statistics.

On iOS, a signed-in account’s Busy Signal session credential and expiry are stored in a Keychain item configured for this device only and not synchronised, scoped to the HTTPS account service. The app does not store your Google password, Google token, or profile details in the Keychain. Logging out, deleting the account, or receiving an Apple credential-revoked notification removes the local session; Keychain data can remain after uninstall until it is removed by the app or operating-system controls. You can remove other local data through iOS or Android app-storage controls. iOS device backup and restoration are managed separately by the operating system or backup provider.

On Android, the Busy Signal account session credential and expiry are encrypted with a non-exportable Android Keystore AES-256-GCM key scoped to the HTTPS account service. Only encrypted session data is written to the app’s no-backup storage; the Android application also disables operating-system app backup. There is no plaintext session-storage fallback. Logout, account deletion, expiry, or detected revocation clears the local session. The app does not store your Google password or Google provider token. These account protections are separate from the gameplay transport described under Security.

A future configured and signed iOS candidate with moderated room voice will give a casual guest a random bearer credential in a separate Keychain service. This credential preserves a stable safety identifier for reconnecting or reusing a room slot. It is separate from the account session and other guest storage. Clearing or losing it can create a new guest identity; it does not provide permanent prevention of ban evasion.

The browser preview at /play/ can also store game preferences in your browser’s site storage. You can remove them by clearing site data for playbusysignal.com in your browser. Online browser play uses the same game service described below; connection setup and relay services process the network information needed to connect you.

Online play

When you join an online room, the game server processes your IP address and network connection information, your chosen player name and character, temporary session identifiers, and gameplay information such as movement, actions, scores, and connection timing. This is needed to connect players, run and synchronize matches, reconnect interrupted sessions, and diagnose service problems.

Your player name, character, and relevant match information are visible to other participants. Use a nickname rather than your real name, and do not put contact details or other sensitive information in your player name. The current Android and iOS testing releases do not require a registered game account for casual play.

The iOS release can offer nearby room voice during an online match. If you choose to enable the microphone, the app processes live microphone audio and sends short audio frames through a TLS-protected room-voice connection to other eligible nearby players. The game service uses temporary voice invitations and current match membership to route this audio. Busy Signal does not record, transcribe, retain, or use voice audio for analytics. The current voice feature has no separate third-party voice processor; its transport is operated with the game service on our Hetzner infrastructure. Microphone access is optional, can be denied in iOS Settings, and can be muted in the game.

Future player safety controls

The moderated room-voice service is integrated in source but its server rollout is held. If a future configured and signed native candidate uses it, the Players sheet will offer name and player reports, block or unblock, and support. iOS additionally offers voice reports and mute-all. Android uses the TLS service for safety metadata only; it does not request microphone access or send or play voice. Android guest safety credentials use a separate Keystore-encrypted no-backup record, independently of account and casual allocation credentials. A report records the reporter and target’s stable safety identifiers, the target’s bounded public nickname, room identifier, selected reason, time, case status, and an operator decision. The selected reason is linked to the players involved so we can provide the report feature. It does not include audio, a transcript, attachments, freeform report text, email, or another player’s guest bearer credential.

Reports are private to LCUBO Studios, the service operator. The operator can review a case and apply a time-limited voice suspension. A block stops room voice in both directions and local playback promptly. The updated source also masks the blocked player’s name in room rosters, match scores and the Players sheet. It does not separate matchmaking, remove game entities, or hide seasonal leaderboard names. Seasonal leaderboard report/block coverage remains a release gate. The source implements technical controls and a runbook, but does not establish staffed response coverage, a deployed moderation service, or App Store approval.

Optional accounts

The browser game and native releases can offer optional Google sign-in. A future configured and signed iOS candidate can also offer Sign in with Apple. Casual play and offline practice do not require an account. Google authenticates you and returns a provider subject identifier; we do not request your Google email address, profile name, contacts, or password. For Sign in with Apple, the app requests an identity token and authorization code; the account service uses the stable Apple subject and does not retain Apple email or name claims. We store the provider subject, an internal player identifier, your public nickname, account status, and authentication session records to operate your account. Your nickname can be changed in Account settings.

Browser sign-in uses secure, HttpOnly cookies on playbusysignal.com for the login attempt and account session, with request tokens to protect account changes. These are functional authentication cookies, not advertising cookies. Native Google sign-in opens the provider in the system browser. In the future configured and signed iOS candidate, Sign in with Apple uses Apple's system authorization interface. Native sign-in saves only the resulting Busy Signal session credential in the device storage described above; it does not use browser-cookie consent. The account service stores an encrypted Apple refresh credential only to revoke the Apple provider connection when an account is unlinked or deleted. If that revocation does not complete, the encrypted credential remains in a restricted retry queue until Apple accepts revocation or an operator resolves it. Google and Apple process their respective sign-ins under their own policies. Account services run on infrastructure operated by LCUBO Studios, with Cloudflare forwarding and protecting requests.

You can log out or request account and associated-data deletion from Account settings or the account and data deletion page, without reinstalling the app. Deletion ends account access and requests cleanup of linked leaderboard, match and analytics records. Cleanup may continue after sign-out, and operational retention review is separate; contact us for progress or if a request fails. Minimal deletion-suppression records remain to prevent old uploads from restoring erased associations. The future moderated service is not yet connected automatically to account deletion: after a verified request, the operator must erase the matching moderation identity and related blocks and redact it in remaining reports. See the deletion page for verification, expected timing, retained records and backup limitations.

Statistics and diagnostics

Our game server maintains aggregate counts and gameplay statistics to understand how many players play, how often they return, how much time they spend playing, and how matches end. Gameplay records contain session and match identifiers, activity times, duration, mode, platform and completion status. Online activity is measured by the game server; practice activity is reported by the client. With browser analytics consent, we use a random installation identifier to estimate returning guests; browser clients without consent use a temporary connection identifier instead. Older native testing builds can use a locally stored random installation identifier without browser consent. New native builds with the optional analytics choice use that identifier only after native opt-in; without it, online connections use a temporary identifier. Changing this choice does not erase an identifier already supplied to an active online match; the temporary identifier applies on the next connection. Verified account identifiers, when available, can group online activity. Server-side online match statistics and necessary account or safety identifiers are separate from optional browser and native analytics; declining optional analytics does not disable them. The statistics database stores keyed pseudonymous identifiers rather than the original installation or account identifiers.

The statistics database does not record player names, IP addresses, authentication tokens, audio, or gameplay messages. It is hosted on our own gameplay infrastructure and its dashboard is restricted to administrators. We do not send these gameplay statistics to an external analytics provider. Private performance monitoring separately uses numeric measures such as server timing and network throughput.

Server and infrastructure logs may contain technical events and connection information needed to operate, troubleshoot, and protect the service. The application’s structured logging limits the fields it records; infrastructure providers may separately process technical request data.

Permissions, advertising, and purchases

The current Android testing release uses internet access for online play. The iOS testing release also requests microphone permission only when you choose to enable room voice. Neither release requests access to your contacts, precise location, or camera. Neither release records voice audio, includes advertising SDKs or advertising identifiers, or offers in-app purchases. We do not sell personal data or use it for targeted advertising.

Service providers and other disclosures

We use Hetzner infrastructure to host our game, account, analytics, and room-voice services, and Cloudflare Pages to host and protect the website. These providers process technical information as part of delivering their services. Google processes optional Google sign-in. Apple processes Sign in with Apple when it is enabled in a future configured and signed iOS candidate, and Apple and Google Play handle app distribution and may process installation, device, purchase, or diagnostic information under their own policies. This does not mean the current game includes an in-app purchasing feature.

We may also process the email address and information you provide when you contact us. Please do not send passwords or other unnecessary sensitive information. Information may be disclosed where required by law or when reasonably necessary to protect the service and its users. Service providers may process information in countries other than your own, including outside the European Economic Area. Their published privacy and data-processing terms explain locations and any transfer arrangements. Contact us for information about the arrangements applicable to your data. See Hetzner, Cloudflare, Google, and Apple.

Security

We restrict administrative access to our services and keep private monitoring separate from public access. The website uses HTTPS. The current Android prototype’s gameplay connection uses ENet without transport encryption; gameplay data and the chosen player name are not protected by an encrypted connection. Do not use the game to transmit confidential information. No service can guarantee absolute security.

Retention and deletion

Local settings, progress and the installation identifier remain on your device until cleared, overwritten, or removed. An iOS account session uses Keychain; an Android account session uses Keystore-encrypted no-backup storage. Their deletion and expiry behavior is described above. In native builds with the optional analytics choice, withdrawing consent also removes the local analytics identifier and queued reports, but does not erase historical server records; use the account deletion route or contact us for a privacy request. Queued practice records are removed after acknowledgement and are bounded in size and age; records may be lost if storage is cleared or those limits are reached. Live room-voice audio is discarded as it is routed and is not stored. Gameplay statistics are retained across restarts and releases as a historical record until deliberately deleted by the operator. Daily statistics backups retain the latest 14 successful copies, which is not a guaranteed 14-day expiry if backups fail. The account backup script prunes copies older than 14 days on successful scheduled runs; legacy and off-host copies require review. Restores must reapply deletion records before services reopen. You may contact us about your data using the contact details below. Private performance history is separately configured to retain up to 15 days of compacted metrics, subject to a storage limit.

If the future moderated room-voice service is activated, its reports expire 90 days after creation, including resolved reports. Guest registrations expire after 180 days without reconnecting; expiry removes related block edges and redacts the guest identifier in remaining reports. Active blocks remain until unblocked or the identity is erased. Moderation suspensions expire on their assigned date. Account-deletion support must coordinate the manual moderation erasure described above; it is not automatic, and a time-limited suspension can remain until its expiry.

Operational logs and support correspondence are retained for service operation, troubleshooting, security, and handling requests; their retention varies with the system and the reason for keeping them. We may retain information needed to meet legal obligations or resolve disputes. We do not promise immediate deletion from infrastructure logs or backups.

Your privacy rights

Where the GDPR applies, you may request access, correction, erasure, restriction of processing, and data portability where applicable. You may object to processing based on legitimate interests, including server-side statistics. Contact support@playbusysignal.com with “Busy Signal privacy” in the subject. We normally respond within one month; if the law permits an extension for a complex request, we will explain the reason within that month.

Provide only details needed to locate your information, such as your account or an approximate play date. We may need proportionate verification. We cannot always identify a casual player from a nickname alone and will explain limitations. Pseudonymous statistics are not necessarily anonymous; clearing browser storage does not automatically erase past server records.

You can lodge a complaint with your local data protection authority, including in the EU country where you live, work, or believe an infringement occurred. The European Data Protection Board directory lists EU authorities. Other local privacy rights may also apply.

Children

Busy Signal contains fictional violence and is not intended for young children. Follow the applicable platform age rating. A parent or guardian who believes a child has supplied personal information can contact us for help with access or deletion. We will address age-related consent requirements before introducing features that depend on them.

The website

The landing pages have no accounts, payments, newsletter forms, or advertising. They do not set advertising cookies. A local storage entry remembers your analytics choice for 180 days; essential sign-in cookies are used only when you request account sign-in. The browser game’s site storage and online connections are described above. Images and styles are served from the same website, including a video trailer hosted on this site, without third-party video embeds, external fonts, or social widgets. Hosting and security infrastructure processes request information such as IP addresses, requested URLs, browser information, and request times. Visiting the website alone does not join a game server or grant microphone access.

We use cookie-free Cloudflare Web Analytics on the home and page-not-found pages to understand visits, page views, referring websites, browser and device types, country-level traffic, and page performance. The analytics script sends these measurements to Cloudflare. It does not use a persistent visitor identifier and is separate from the optional game analytics choice. It is not loaded on the legal notices, live player-count page, or game. Cloudflare’s delivery infrastructure may also receive browser network-error reports independently of optional analytics. It does not use cookies or browser local storage, and we do not send game account identifiers, nicknames, or gameplay records to this analytics service. Cloudflare Web Analytics is separate from the game statistics described above. See Cloudflare Web Analytics for information about the service.

Changes and other versions

Busy Signal is in development. This policy describes the current Android and iOS testing releases and browser preview, including the present iOS room-voice and account behavior. We will update this page and any required in-app notices when data handling changes. The date above identifies the latest revision.