Ordinary browsing
Drop7 Research does not use third-party client-side analytics, advertising technology, tracking pixels, or cross-site tracking. A small first-party navigation hook reports only the new pathname after in-site navigation so pages served from the browser's Next.js prefetch cache are counted. The server constructs the analytics event from that pathname and the request headers. The project does not sell personal information or combine site analytics with advertising data.
For each real page navigation, the server records the time, normalized page path and site host; referrer hostname and broad channel; a truncated user-agent string and accepted language; country, region, and city headers supplied by the hosting network when available; coarse device, browser, and operating-system families; and whether the request appears automated. It does not record URL query strings, referrer paths or queries, cookies, names, email addresses, GitHub IDs, or authentication state.
The source network address and user agent are combined with a secret in a one-way HMAC to make a pseudonymous visitor ID for aggregate visitor counts. The raw network address is discarded before the event enters analytics. This identifier is first-party, is not placed in your browser, and is not shared with an advertising or analytics provider.
Open-source transparency
The website code and its deployment configuration are public in the project repository. That includes the browser code, server-side event schema, authentication flow, admin access checks, and Firehose/Iceberg/Athena infrastructure definition. Any material change to that collection would be visible in the source and would require this policy to change.
Data kept in your browser
The playable game uses your browser's local storage to remember personal best scores. The competition game also uses local storage to preserve an unfinished move sequence and its local best. This information stays on your device and is not sent automatically. You can remove it at any time by clearing site data in your browser.
Mobile app interactions
The mobile app records basic product interactions, including screens opened, mode and menu choices, legal game moves and their outcomes, level rises, board clears, completed and restarted games, replay and tutorial controls, haptic-setting changes, and competition submission outcomes. Each event includes its time, broad platform, app version, normalized screen name, and the small set of values needed to count that action.
These events wait in a bounded queue on the device and are sent in batches. The server may add a truncated user agent, accepted language, and coarse country, region, or city supplied by the hosting network. It does not store the source network address or create a visitor ID for mobile interaction events. The events exclude display names, account IDs, device or advertising IDs, game and replay IDs, contacts, and precise location.
Completed games from the mobile app
When a game finishes in the mobile app, the app automatically and silently submits the exact disc tape, hidden covered-disc values, covered rows, column choices, ruleset, timestamps, claimed result, app version, and broad platform. The server independently replays the tape and stores only games whose moves and claimed result validate. It does not receive an account, advertising identifier, device identifier, contacts, or precise location with this record.
The app stores each game and whether delivery succeeded on the device. Failed deliveries remain pending and are retried without interrupting play. Validated tapes are retained in an hour-partitioned Amazon S3 research archive and may be analyzed or released as research data under these terms.
If you choose GitHub sign-in, the site sets a first-party, encrypted session cookie so you can remain signed in. It is essential to authentication, is not an advertising or analytics cookie, and may remain valid for up to 30 days. Signing out ends that session.
GitHub sign-in
Sign-in is optional and is only needed to submit a human competition score from the website. The site asks GitHub for read-only access to basic profile data. During sign-in it processes your GitHub numeric account ID, username or display name, and other basic profile fields returned by GitHub for the session. The project does not request repository access and does not store your GitHub OAuth access token.
GitHub operates that authorization step under its own privacy statement. You can revoke the project's access from your GitHub application settings.
Competition submissions
Website competition runs require an explicit submit action and GitHub sign-in. The mobile app instead lets you submit a completed competition run under any display name without an account. A leaderboard submission stores its source, display name, column choices, client and server-verified scores, move count, game/version identifiers, validation flags, and submission timestamps. Website submissions also store the GitHub provider and numeric account ID. The server may write validation or security events when it accepts or rejects a submission.
Your display name, score, move count, and submission time may appear publicly on the leaderboard and replay pages. The underlying competition ledger is intended to be a durable research record. Research datasets derived from human move streams are published without GitHub account identifiers.
Service providers
The site uses GitHub for optional authentication and Amazon Web Services for hosting and storage. First-party website and mobile interaction analytics pass through Amazon Data Firehose and are stored as Parquet data in an Apache Iceberg table in Amazon S3, with metadata in AWS Glue and aggregate queries run by Amazon Athena. Validated mobile game submissions pass through a separate Amazon Data Firehose delivery stream into an hour-partitioned Amazon S3 archive. No separate analytics vendor receives those events. Like any internet host, AWS and GitHub may also process technical request data as needed to deliver, secure, and operate their services under their own terms.
Retention and your choices
Analytics query-result files expire after 7 days and failed Firehose delivery records expire after 30 days. The underlying Iceberg analytics event table is retained until the project operator deletes or applies a table-retention policy to it. Authentication data in the encrypted session cookie lasts until sign-out, deletion, or expiry. Validated mobile game tapes and competition submissions are retained as research records until the project operator deletes them or applies a retention policy, subject to applicable law.
You may browse and play without an account, clear local game data through your browser or app settings, sign out, or revoke GitHub authorization. For a privacy question or a reasonable request to access, correct, or remove competition information, use the contact options on the repository owner's GitHub profile. Do not post sensitive information in a public issue.
Children
This research site is not directed to children under 13, and the project does not knowingly collect personal information from them.
Changes to this policy
Material changes will be published on this page and in the public repository, with a new effective date. The current policy will always be linked from the site footer.