Kiln Privacy Policy
        Effective Date: October 12, 2026
        1. Introduction
        Kiln ("we," "our," or "us") operates a quality-of-life browser extension and web API for Polytoria. This Privacy Policy explains how we collect, use, store, and protect your information when you use our services.

        2. Information We Collect
            2.1 Account Linkage Information
            When you link your Polytoria account to Kiln, we collect:
                * Polytoria User ID: Your unique Polytoria account identifier
                * Linkage Timestamp: When you connected your account
                * Verification Phrase: A temporary code used during the bio-verification process, stored until verification is complete or the session expires
                * Account Status: Whether your Kiln account has been suspended (banned) from using our services, and when
                * Extension Version: The version of the Kiln extension last reported by your account

            2.2 Authentication Data
            To maintain your session, we store:
                * Refresh Tokens: Unique tokens that allow persistent API access without repeated logins
                * Token Metadata: Expiration dates, creation time, last usage time, and revocation status
                * User ID Association: Link between refresh tokens and your Polytoria account
                * Device Information: Operating system and browser type recorded at token creation

            2.3 Extension Usage Data
            Based on your voluntary use of features:
                * Likes: Count of likes you've given or received through our extension
                * Like Relationships: Records of which users you've liked (originator and target user IDs)
                * Favorited Places: Polytoria place IDs you've marked as favorites and when you favorited them
                * Not For Trade (NFT) Items: Polytoria item IDs you've marked as not for trade, and optionally specific serial numbers of those items
                * Not Looking For (NLF) Items: Polytoria item IDs you've marked as items you don't want to be offered in trades
                * Blocked Traders: Polytoria user IDs you've blocked from sending you trades
                * Site Themes: Theme configurations you create for the Polytoria site, including name, accent color, navbar color, font family, custom CSS, background image, visual effects, navbar icon color, custom cursor, color tokens, and the theme's published/approval status. If you publish a theme, we also generate and store a rendered preview image of it
                * Profile Themes: A separate, single theme you can apply to your own Polytoria profile page. In addition to the styling options above, this stores the profile-specific customizations you configure: page layout, username styling, banner, ambient effects, stickers, free-text notes, card styling, avatar backdrop, pointer effects, background overlay color and opacity, and whether the theme is currently enabled, along with its approval status
                * Pinned Achievements: Polytoria achievement IDs you've pinned to your profile, and when you pinned them
                * Place Reviews: Ratings and written reviews you submit for Polytoria places, and any replies you post to other users' reviews. For each review or reply we also store whether you chose to post it anonymously, and its moderation approval status. Choosing to post anonymously hides your identity from other users; your account is still recorded on our side so that you can edit or delete your own review
                * Notifications: In-app notifications generated for your account (e.g. related to likes, reviews, or other extension activity), including the notification content and whether you've viewed it
                * Avatar Outfits: Named avatar outfit configurations you save in the avatar sandbox
                * Public Outfits (opt-in): If you choose to share them, a mirrored copy of your official Polytoria outfits (outfit ID, name, thumbnail, and display order) fetched from Polytoria's own public outfits API, plus when it was last synced
                * Timezone (opt-in): An IANA timezone identifier (e.g. "America/New_York") that you choose to share publicly. It is stored only while sharing is on and is deleted when you turn sharing off

            2.4 User Activity Data
            To power player labels displayed by the extension (such as "inactive trader" and "OG player" indicators), we collect publicly observable activity data about Polytoria users:
                * Polytoria User ID: Identifiers of users whose activity has been observed
                * Username: The most recently observed Polytoria username associated with that user ID
                * Registration Timestamp: When a Polytoria account was first registered, sourced from public profile data
                * Last Activity Timestamp: The most recent date a Polytoria user was observed as active on the platform
                * Staff Status and Role: Whether the user holds a Polytoria staff role, and their observed user role/rank
                * Avatar Hash: A hash representing the user's current avatar appearance, sourced from public profile data

            2.5 Feedback and Bug Reports
            If you submit feedback, a feature suggestion, or a bug report through the extension, we collect:
                * Feedback Content: The category (feature, general, or bug) and the message you write
                * Client Identifier: A random identifier generated by the extension and stored locally in your browser, used so we can show you your own submissions and their status. It is not derived from your account or device and is not used for tracking across sites. The same identifier is also sent with your requests to our API and used to prevent ban evasion (see section 2.7)
                * Account and Username: Your Polytoria user ID and username, if you are linked and signed in when submitting
                * Extension Version: The version of Kiln you were running
                * Diagnostics (optional): If you choose to attach diagnostics to a bug report, your browser's user agent string and up to the 15 most recent extension errors, including error messages and, for the most recent one, a stack trace. Please avoid including personal information in the text of your report
                * Handling Status: Whether the report is open or resolved, and any response we write back to you

            2.6 Catalog and Reference Data
            We also index non-personal reference data from Polytoria to power extension features, including item thumbnails, retro/classic item records, event item lists, and daily challenge listings. This data describes the platform's content, not its users.

            2.7 Abuse Prevention Signals
            When you make signed-in requests to our API, we record the following so we can detect banned users returning on new accounts:
                * Installation Identifier: The random client identifier described in section 2.5. It identifies an installation of the extension, not you or your device, and is only ever sent to Kiln's own API
                * Hashed Network Address: A keyed, one-way hash of the IP address your request came from (for IPv6 addresses, of the /64 network prefix rather than the full address). We never store your IP address itself, and the hash cannot be reversed to recover it
                * First and Last Seen: When each of the above was first and most recently recorded for your account
            When this feature was introduced, client identifiers from feedback you had already submitted while signed in were also recorded for your account.

        3. How We Collect Information
            3.1 Account Verification
            You initiate data collection by:
                1. Installing the Kiln browser extension
                2. Requesting to link your Polytoria account
                3. Generating a unique verification phrase in our system
                4. Placing that phrase in your Polytoria bio
                5. Confirming the linkage through our API
            Once verified, the phrase is removed from active storage and your account is permanently linked until you revoke access.

            3.2 Passive Data Collection
            Certain data is collected or updated automatically when you use specific features:
                * Refresh tokens are updated when you use the extension
                * lastUsedAt timestamps update when tokens are accessed
                * Your reported extension version is updated when your account is linked or refreshed
                * A local client identifier is generated by the extension the first time it is needed (see section 2.5)
                * Your installation identifier and a hashed network address are recorded when you make signed-in requests to our API, at most once an hour each (see section 2.7)

        4. How We Use Your Information
            4.1 Service Functionality
            We use your data solely to:
                * Authenticate and maintain your session via refresh tokens
                * Enable extension features like cross-session persistence
                * Track feature usage (likes, favorites, NFT/NLF item markings, blocked traders, pinned achievements) to provide functionality you request
                * Support game events by recording statistics and team affiliations
                * Display player labels (e.g. "inactive trader", "OG player") based on observed registration and activity timestamps
                * Allow you to submit and view ratings and written reviews for Polytoria places, and reply to other users' reviews
                * Deliver in-app notifications about relevant activity on your account
                * Save avatar outfit configurations you create in the avatar sandbox
                * Render the site and profile themes you create, and show published themes to other users
                * Show your shared outfits and timezone on your profile, when you have opted in to sharing them
                * Respond to your feedback and bug reports, and diagnose extension errors
                * Screen text you submit (such as place reviews, replies, and theme names) with automated AI moderation, as described in section 6.3
                * Detect ban evasion by identifying accounts that share an installation identifier or hashed network address with a banned account. Matches are reviewed by a person, and no account is banned automatically because of them
                * Produce aggregate, non-identifying statistics such as total linked users and a breakdown of extension versions in use

            4.2 Display of Historical & Public Datasets
            Kiln displays historical data provided by or exported from Polytoria. This data is static and was not collected by the Kiln extension:
                * Great Divide Statistics: Historical event data (kills, deaths, team affiliation) from past Polytoria events.
            This information is used for display purposes only. If you are a Polytoria user appearing in this dataset, this data was sourced from public records/official exports and is not "tracked" by your current use of the Kiln extension.

            4.3 Data Limits
            We do not use your data for:
                * Advertising or marketing purposes
                * Selling to third parties
                * Any purpose not explicitly stated in this policy
            We do not sell your data. However, third-party AI providers that may process text for moderation (see sections 6.3 and 8.6) set their own terms, and some may store that text or use it to train their models. We do not control this.

        5. Data Storage and Security
            5.1 Storage
                * All data is stored in SQLite databases with proper indexing
                * Refresh tokens are stored with expiration dates and can be revoked
                * Timestamps are stored in ISO 8601 format or as millisecond timestamps

            5.2 Security Measures
                * Access tokens are short-lived; refresh tokens expire after 90 days and are invalidated upon revocation
                * Verification phrases in the pending table expire 5 minutes after they are issued
                * Custom CSS in themes is validated before it is stored or served
                * IP addresses are hashed with a secret key before storage; raw IP addresses are not stored
                * We implement standard security practices for database access

            5.3 Data Retention
                * Refresh Tokens: Retained until expiration, revocation, or account deletion
                * Pending Verifications: Expire 5 minutes after being issued and are deleted by a cleanup job that runs every 5 minutes
                * User Accounts: Retained until you request deletion
                * NFT Item Markings: Retained until you remove the marking or request account deletion
                * NLF Item Markings: Retained until you remove the marking or request account deletion
                * Blocked Traders: Retained until you unblock the user or request account deletion
                * Game Statistics: Retained indefinitely for historical event records unless you request deletion
                * User Activity Data: Registration and last activity timestamps are retained to support player labels and are updated as activity is observed. This data is sourced from Polytoria's public API and is not submitted by users directly.
                * Site Themes: Retained until you delete the theme or request account deletion
                * Profile Themes: Retained until you delete your profile theme or request account deletion. Disabling a profile theme hides it from other users but keeps it stored so you can re-enable it
                * Public Outfits: Retained only while you have opted in to sharing; deleted as soon as you turn sharing off, and replaced in full on each sync
                * Timezone: Retained only while you have opted in to sharing; deleted as soon as you turn sharing off
                * Pinned Achievements: Retained until you unpin the achievement or request account deletion
                * Place Reviews: Retained until you delete the review or request account deletion
                * Place Review Replies: Retained until you delete the reply or request account deletion
                * Notifications: Retained until you request account deletion (there is currently no self-service option to delete individual notifications)
                * Avatar Outfits: Retained until you delete the outfit or request account deletion
                * Feedback and Bug Reports: Retained after they are resolved so we can track recurring issues, and until you request account deletion. Copies relayed to our moderation channel (see section 8.4) persist there independently
                * Hashed Network Addresses: Deleted automatically once they have not been seen for your account in 90 days
                * Installation Identifiers: Retained until you request account deletion
                * Text Sent to AI Moderation Providers: Kiln does not store the text separately for this purpose beyond the content itself, but retention by an outside provider is governed by that provider's policies and is outside our control (see section 6.3)

        6. Information Sharing and Disclosure
            We do not sell, trade, or rent your personal information. We only share data in the following circumstances:

            6.1 Publicly Visible Data
            Certain data may be visible to other users through the extension's features:
                * Likes between users (originator and target relationships)
                * Great Divide event statistics and rankings (see section 4.2)
                * Favorited places (not currently displayed publicly)
                * Not For Trade (NFT) item markings: the items and specific serials you've flagged as not for trade are accessible via a public endpoint
                * Not Looking For (NLF) item markings: the items you've flagged as not looking for are accessible via a public endpoint
                * Blocked Traders: the list of users you've blocked from trading with you is private and only accessible to you via an authenticated endpoint
                * Player activity labels: "inactive trader" and "OG player" labels derived from user activity data (see section 2.4) are displayed to other extension users on relevant Polytoria pages
                * Site Themes: themes you publish with an approved status are accessible via a public endpoint and may be visible to other users
                * Profile Themes: while enabled and approved, your profile theme — including its styling, stickers, banner, and any notes you write — is served to other extension users who view your Polytoria profile. Other users can report a profile theme for review
                * Place Reviews: ratings and written reviews you submit for Polytoria places are visible to other extension users viewing that place, along with any replies posted to them. Reviews and replies you mark as anonymous are shown without your username
                * Pinned Achievements: achievements you pin are visible to other extension users
                * Public Outfits: if you opt in, your official Polytoria outfits are served to other extension users viewing your profile
                * Timezone: if you opt in, your timezone is served to other extension users viewing your profile
                * Aggregate statistics: total linked user counts and extension version distribution are published in non-identifying, aggregate form
                * Notifications, Avatar Outfits, and your own feedback submissions are private and only accessible to you via an authenticated endpoint
                * Abuse prevention signals (see section 2.7) are never shown to other users

            6.2 Moderation and Administration
            We can view content submitted for review (place reviews, replies, site themes, and profile themes) together with the submitting account, in order to approve, reject, or remove it. When reviewing a banned account, we can also see which other accounts share an installation identifier or hashed network address with it, and when those were last seen. Feedback and bug reports, including any diagnostics you attach, are relayed to a private channel that only we can access (see section 8.4). Content that automated moderation flags for review (including the text itself, your Polytoria user ID, and the categories flagged) is also relayed to that channel, and copies persist there independently of Kiln's database.

            6.3 Automated AI Moderation
            Text you submit for display to other users, such as place reviews, replies, and theme names, is screened by an automated AI moderation system. Only the text is sent for screening. We do not send your username, user ID, or other account details to the model. The model's output is used to approve content, hold it for human review, or reject it.

            The model and the provider that runs it may change at any time and without notice. The model may be:
                * A model proprietary to Kiln, run on infrastructure we control or rent, in which case the text is processed only to produce a moderation result and is handled under the retention rules in this policy
                * An open or third-party model run by an outside provider, typically one offering free or low-cost excess compute. Providers like this often keep the text you submit, log it, and use it to train or improve their own models, and may do so indefinitely. Once text has been sent to such a provider we cannot recall it or require its deletion, and requesting deletion of your Kiln data will not remove it from the provider's systems

            Because of this, do not submit text you would not want processed by an automated third-party system. Automated moderation can be wrong, and decisions made by it can be reviewed through the appeal process in our Terms of Service. If automated moderation is unavailable, content may be accepted or held for review without it.

            6.4 Legal Requirements
            We may disclose information if required by law or in response to valid legal requests.

        7. Your Rights and Choices
            7.1 Access and Control
            You can:
                * Unlink your account: Remove the linkage between Kiln and your Polytoria account
                * Revoke tokens: Invalidate all active refresh tokens
                * Turn off optional sharing: Stop sharing your timezone or your official Polytoria outfits at any time, which deletes the stored copies
                * Disable or delete your profile theme at any time
                * Request data deletion: Contact us at contact@indexx.dev to delete your user record and all associated data
                * Stop using the extension at any time
            7.2 Data Portability
            You can export your own data at any time from the extension, which returns a machine-readable copy of your Kiln account record, session metadata, likes given and received, favorited places, pinned achievements, blocked traders, NFT and NLF markings, place reviews and replies, notifications, avatar outfits, shared public outfits, themes, and feedback submissions. You can also request a copy by email.

        8. Third-Party Services
            8.1 Polytoria
            Our service integrates with Polytoria. Your use of Polytoria is subject to their own Privacy Policy and Terms of Service. We only access publicly available information from your Polytoria profile during the verification process, and — where you have opted in — from Polytoria's public outfits API.

            8.2 Browser Extension Stores
            Installation and updates are handled through browser extension stores (Chrome Web Store for Chromium-based browsers, Firefox Add-ons for Firefox), which have their own privacy practices.

            8.3 Edge Services
            The extension accesses several services running on Cloudflare's edge network. None of these endpoints collect personal data. Endpoints include:
                * Remote configuration that allows the extension to know the latest state of feature availability, API URLs, along with the latest version and any update notes the user should be aware of.
                * KV (key value) stores for serving historical datasets (see section 4.2)
                * Proxy which forwards your requests to Polytoria's origin server. Requests will only be forwarded to their public API, and no credentials are ever stored or shared.

            8.4 Discord
            Feedback and bug reports, including any diagnostics you attach, are relayed to a private Discord channel that only we can access, along with your username and extension version when available. Discord's handling of this data is governed by their own Privacy Policy.

            8.5 PolyTrack
            Playtime and activity statistics displayed within the extension are provided by PolyTrack (polytrack.top), an independent third-party service. PolyTrack collects publicly available Polytoria data (including users, places, groups, play sessions, and site statistics) directly from Polytoria; Kiln does not send your data to PolyTrack, and does not collect or store play session data itself. PolyTrack does not publish a separate privacy policy, as the data they collect is public, but their data practices are governed by their Terms of Service: https://polytrack.top/terms

            8.6 AI Moderation Providers
            To screen submitted text (see section 6.3), we send it to an AI model hosted by us, by Cloudflare, or by another third-party provider. The model and provider may change at any time. Each provider's handling of the text, including storage, logging, and use for model training, is governed by its own terms and privacy policy, and providers that offer free or low-cost compute commonly retain submitted text and train on it. We will update this policy when the kind of provider we use changes materially, but we may not be able to list every provider individually.

        9. Children's Privacy
        Our service is not directed at children under 13, or 16, by jurisdiction. If you are underage, do not use Kiln. If we discover we have collected information from a child under 13, we will delete it immediately.

        10. Changes to This Policy
        We may update this Privacy Policy to reflect changes in our practices or for legal reasons. We will notify users of significant changes through the extension or via Polytoria's messaging system.

        11. Contact Information
        For questions, data requests, or concerns about this Privacy Policy, please contact us by email: contact@indexx.dev