- We store your email and name (via our sign-in provider), a hashed API key, which MCP tools you call and how often, and your subscription status. Card details go straight to Stripe.
- There is no advertising or analytics tracking on penui.dev.
- The MCP server runs on your computer. Your Roblox API key, your game and your prompts are not sent to us.
- You can ask for access, correction or deletion of your data at any time.
1. Who is responsible
The controller of your personal data is [LEGAL NAME], [ADDRESS, VAT NUMBER], contact [CONTACT EMAIL] (we). This policy covers penui.dev, the penui API and the penui MCP server (the Service) and applies together with the Terms of Service.
2. Data we collect
| Category | What | Source |
|---|---|---|
| Account | User ID, email address, name or username, sign-in method (and social-login profile data you allow), session tokens. | You, via our authentication provider |
| Plan and billing | Plan, status, period end, Stripe customer ID, invoices and payment status, billing country and tax data you give at checkout. We do not receive or store your full card number. | You, Stripe |
| API keys | Key label you choose, a short prefix, a one-way hash of the key (never the key itself), created, last-used and revoked times. | You, generated by us |
| Usage metering | For each metered MCP call: your user ID, tool name, the pack involved, credits consumed and a timestamp. This is what limits like “15 per day” are based on. | Your MCP client |
| Technical and security | IP address and request metadata (user agent, time, path, status) in server and edge logs and in rate-limit counters (to stop abuse). Error information if something fails. | Your browser or client |
| Communications | Messages you send us, and service emails such as receipts. | You |
| Files you send us | Design (.fig) files for custom ingestion, if your plan includes it. They may contain personal data only if you put it there; please do not. | You |
We do not ask for special categories of data, Roblox passwords, or your Roblox API key. We do not collect the contents of your prompts or of your game, and do not have access to your Roblox Studio place.
3. Why we use it and our legal bases
- Provide the Service: create and secure your account, issue and verify API keys, apply plan limits, deliver components, handle subscriptions. Basis: performing our contract with you (Art. 6(1)(b) GDPR).
- Payments and accounting: process payments, invoices, tax, refunds and chargebacks, and keep records the law requires. Basis: contract and legal obligation (Art. 6(1)(b), (c)).
- Security and abuse prevention: rate limiting, fraud and key-sharing detection, debugging, protecting our systems and enforcing our terms. Basis: legitimate interests (Art. 6(1)(f)) in keeping the Service secure and fair.
- Service communications: receipts, security notices, changes to terms or the Service. Basis: contract and legitimate interests. If we ever send marketing email, we will ask for your consent and you can withdraw it at any time.
- Legal claims and compliance: responding to authorities and establishing or defending rights, including copyright complaints. Basis: legal obligation and legitimate interests.
We do not make decisions about you based solely on automated processing that have legal or similarly significant effects. Usage limits are applied automatically, but you can contact us to review them. We do not sell your personal data and do not share it for advertising.
4. Who we share data with
We use service providers who process data on our behalf under data-processing terms:
| Provider | Purpose | Data |
|---|---|---|
| Clerk | Sign-up, sign-in, sessions | Email, name, credentials handled by Clerk, session data |
| Stripe | Payments, subscriptions, invoices, billing portal | Email, billing details, payment data, Stripe customer ID. Stripe is also an independent controller for its own fraud and compliance duties. |
| Neon (database/API hosting, EU region) | Stores accounts’ plans, keys (hashed), usage and runs the API | Everything in section 2 except card data |
| Cloudflare | Hosting, CDN, DDoS protection, delivery of the site and library files | IP address, request metadata |
| Google Fonts | Serves the web fonts used by the site (Geist), loaded from Google’s servers | IP address, user agent |
We also disclose data where required by law or valid legal process, to protect rights and safety, and to a successor in a merger, acquisition or sale of the business (with the same protections). If we add a provider (for example for email, support or error monitoring), we will update this list.
5. International transfers
Some providers (for example Clerk, Stripe, Cloudflare and Google) may process data outside the EU/EEA, including in the United States. Where that happens, we rely on an adequacy decision (such as the EU–US Data Privacy Framework for certified providers) or on the Standard Contractual Clauses and supplementary measures. You can contact us for a copy of the safeguards.
6. How long we keep it
- Account, plan and API-key records: while your account is open. After deletion we remove or anonymize them, except what we must keep below.
- Usage metering records: up to 24 months, to enforce limits, detect abuse and answer billing questions, then deleted or aggregated.
- Billing and tax records: as long as tax and accounting law requires (generally up to 10 years).
- Rate-limit counters: short-lived, expire within a day.
- Server and edge logs: normally a few weeks, unless needed to investigate an incident.
- Messages: as long as needed to handle your request and for a reasonable period after, to defend legal claims.
- Uploaded .fig files and derived private packs: until you ask us to delete them or you close your account.
8. The MCP server on your machine
The MCP server runs locally. It reads and writes files in your project folder (for example uploaded asset IDs). It sends only the minimum to our API for metering and plan checks: your API key (to identify you), the tool name, the credits to consume and the packs involved. It does not send your prompts, your game contents or your Roblox credentials to us. If you use the optional Open Cloud upload, the server sends the images you choose to Roblox, using your key, under Roblox’s own privacy policy.
9. Your rights
Depending on where you live, including under the GDPR, you have the right to access your data, have it corrected, deleted, or restricted, to receive it in a portable format, to object to processing based on legitimate interests, and to withdraw consent where we rely on it. California and some other jurisdictions give similar rights, including to know, delete and correct, and not to be discriminated against for exercising them; we do not sell or share personal data for cross-context advertising.
To exercise a right, write to [CONTACT EMAIL] from the email address on your account. We may need to verify your identity and will reply within one month (extendable where the law permits). You can also remove a key or manage your subscription yourself in the dashboard. If you think we handled your data unlawfully, you can complain to your data protection authority (in Italy, the Garante per la protezione dei dati personali; elsewhere, the authority of your country or of the place of the alleged infringement). We would appreciate the chance to fix it first.
Providing the data in section 2 is necessary to create an account and use paid features; without it we cannot provide those.
10. Security
We use measures appropriate to the risk: encrypted connections (HTTPS), API keys stored only as hashes, access controls, rate limiting, and processors with recognized security practices. No system is perfectly secure; we will notify you and the authorities of a breach where the law requires.
11. Children
The Service is not directed at children under 13 and we do not knowingly collect their data. Users under 16 need a parent’s or guardian’s agreement (see the Terms). If you believe a child has given us personal data without consent, contact us and we will delete it.
12. Changes
We may update this policy as the Service or the law changes. We will post the new version here with a new effective date and, for material changes, notify you by email or on the site beforehand.
13. Contact
[LEGAL NAME] · [ADDRESS, VAT NUMBER] · [CONTACT EMAIL]