Lofi-Kawaii · KMC Apps
Privacy Policy
Summary: Lofi-Kawaii does not use OAuth or request Discord profile information. It stores a random, Activity-specific identifier on your device and records minimal anonymous usage information to estimate unique users, return usage, daily usage, and country-level usage over a rolling one-year period. It does not transmit playback activity, track choices, volume, or environmental-effect settings.
1. Scope
This Privacy Policy explains how the KMC Apps developer team (“KMC Apps,” “we,” or “us”) handles information in connection with the Lofi-Kawaii Discord Activity (“Lofi-Kawaii” or the “Service”). Discord separately processes information under its own policies.
2. Information Lofi-Kawaii Does Not Request
The current version of Lofi-Kawaii does not:
- use an OAuth2 login or request an OAuth access token;
- request Discord profile data, usernames, avatars, friend lists, messages, or voice content;
- store Discord user, server, or channel IDs in a KMC Apps database;
- use cookies, sessionStorage, or IndexedDB;
- use advertising, tracking pixels, cross-service tracking, or behavioral telemetry;
- operate a KMC Apps account system or profile database; or
- save user input, playback history, current track selection, or volume preferences in a KMC Apps database.
3. Information Processed on Your Device
Playback state
Track selection, play/pause state, and volume are handled in memory on your device. They are not transmitted to a KMC Apps server and reset when the Activity is reloaded or closed.
Favorite tracks
Favorite track selections are stored only in localStorage on your device so they remain available after reloads. They use Lofi-Kawaii track identifiers, are not sent to a KMC Apps server, and can be removed by clearing this Activity's site data.
Discord SDK connection
Lofi-Kawaii uses the Discord Embedded App SDK only to establish that the Activity is ready inside Discord. The current code does not call SDK commands that request user profiles, authenticate a user, read messages, or fetch guild or channel records.
Anonymous usage measurement
To understand approximate usage, Lofi-Kawaii creates a random UUID using the browser's cryptographic API and stores it in localStorage under a key used only by this Activity. On startup, the Activity sends that identifier once to a KMC Apps Cloudflare Worker. It does not send your Discord ID, profile, playback state, selected track, volume, button activity, environmental-effect settings, or precise location. The Activity does not send a country value from the device.
The Worker converts the identifier to a keyed HMAC hash before storing it in Cloudflare D1. The database stores only that hash, the first and most recent JST usage dates, and whether the same identifier was seen on a later JST date. It also stores pseudonymous daily usage history using the HMAC hash and JST date, so the same stored identifier is counted once per JST day. These records are used only to estimate unique users, the percentage that return on a different day, and daily anonymous usage. Separately, the database stores only a per-day total of accepted usage events. Multiple launches by the same stored identifier on one day each add to that daily total, but no individual event history or event timestamp is stored. These records represent a browser or Discord WebView storage installation, not a verified individual person.
4. Hosting and Network Information
Discord and the hosting or content-delivery provider used to serve Lofi-Kawaii may automatically process technical request information such as IP address, browser or device information (including User-Agent), access time, requested URL or asset, referring information, HTTP status, and security or error data. This information is used to deliver the Activity, maintain reliability, prevent abuse, and diagnose failures.
KMC Apps does not copy this technical request information into its anonymous usage database. Infrastructure providers determine their own technical logging and retention practices under their agreements and privacy policies.
For anonymous country-level usage statistics, the Cloudflare Worker may use the two-letter country code that
Cloudflare derives from a request (for example, JP or US). KMC Apps stores that country
code with the pseudonymous daily usage history; it does not store raw IP addresses, User-Agent values, Discord
IDs or usernames, email addresses, or precise location in the anonymous usage database. If no valid country code
is available, the usage may be recorded as unknown.
5. Third-Party Services
- Discord: hosts the Activity container, supplies launch context, and provides the Embedded App SDK. See the Discord Privacy Policy.
- Hosting and delivery providers: serve the HTML, CSS, JavaScript, images, and audio required for the Activity and may process the technical request information described above.
- Cloudflare: provides the Worker, abuse controls, and D1 database used for the anonymous usage measurement described above. See the Cloudflare Privacy Policy.
Lofi-Kawaii does not include advertising networks, social-tracking scripts, or third-party behavioral analytics.
6. Retention and Deletion
Anonymous usage records are retained until the stored identifier has not been seen for more than one year, based on JST dates, and are then deleted by a scheduled cleanup. Pseudonymous daily usage history and associated country codes, and daily aggregate usage totals are also retained for a rolling one-year period and then deleted. The reported unique-user total is therefore an approximate rolling one-year total, not a permanent lifetime count. In-memory playback state ends when the page or Activity process is closed. The local anonymous identifier remains until site data is cleared or storage is otherwise reset.
Daily and country-level statistics are available only for usage recorded after those analytics features are introduced; Lofi-Kawaii does not reconstruct missing historical daily or country information. During a reporting period, one anonymous installation may be observed in more than one country, so country totals may add up to more than the overall unique-user total.
To show how many anonymous installations have opened the Activity at least twice, Lofi-Kawaii stores a cumulative visit count with each pseudonymous identifier. Existing records are initialized from the safest known lower bound: installations already observed on separate dates start at two, and all others start at one. Earlier same-day repeat usage cannot be reconstructed. The administration screen displays only the aggregate number of installations with two or more accepted visits, never an individual identifier or an individual visit history.
Lofi-Kawaii does not add an opt-out control to the player interface. If you do not want future launches included in this anonymous measurement, do not launch the Activity or use browser or platform controls to block site storage for it, where such controls are available. Clearing the Activity's site data removes the locally stored identifier, but launching again with storage available creates a new identifier and resumes measurement; clearing data is therefore a reset, not a persistent opt-out setting.
The stored HMAC hash is not linked to a Discord account, so KMC Apps cannot locate a particular database row from a Discord username or profile. Privacy questions may be submitted through the official KMC Apps Community support server linked from Lofi-Kawaii's Discord application profile or App Directory listing. Requests concerning data controlled by Discord or another infrastructure provider should be directed to that provider.
7. Security
KMC Apps uses reasonable measures appropriate to this small Activity. The anonymous identifier is generated with a cryptographic browser API, transformed with a server-side secret before database storage, retained only for the stated period, and kept separate from Discord account information. KMC Apps also avoids unnecessary Discord API access. No internet transmission or software can be guaranteed completely secure.
8. Children
Lofi-Kawaii is not directed to anyone below the minimum age required to use Discord in their country. KMC Apps does not knowingly request personal information from children through the Activity. Users must satisfy Discord's applicable age requirements.
9. Changes to This Policy
KMC Apps may update this Policy when the Service, its data practices, hosting arrangements, or platform requirements change. The effective date above will be revised when an updated version is published. Material new collection or use of information will be described before or when the relevant feature is made available.
10. Contact
Privacy questions, requests, and concerns may be submitted through the official KMC Apps Community support server linked from Lofi-Kawaii's Discord application profile or App Directory listing.