Legal
Privacy Policy
This Privacy Policy explains what data Dartform collects, why it is collected, how it is stored, and your rights over it. We are committed to collecting only what is necessary to operate the Software.
Overview
Dartform is a desktop IDE companion for Serverpod, Dart Frog, and Dart Shelf developers, published by Mobterest Studio. This Policy applies to all users of the Dartform application and the dartform.dev website.
We operate on a minimal data principle. We only collect what is strictly necessary to authenticate you, validate your license, and improve the Software. Your project source code is never transmitted to our servers.
What We Collect
The following table describes every category of data we collect, why we collect it, and how long we retain it.
| Data type | What it includes | Why we collect it |
|---|---|---|
| Email address | Your email as entered at sign-in | Sending you a sign-in link and sign-in code. Used to identify your account. |
| Sign-in links and codes | A single-use link and code for each sign-in email, stored on our servers only as one-way hashes | Verifies that you control the email address you signed in with. Each expires after 15 minutes. |
| Sign-in tokens | An access token and a refresh token, stored on our servers (refresh tokens only as one-way hashes) and in Dartform's local preferences on your device | Keeps you signed in between app launches. Refresh tokens expire after 30 days. |
| Purchase data | License status, purchase date | Validates your license. Sourced from Gumroad via webhook. |
We do not collect: your Serverpod or Dart Frog project files, source code, schema definitions, passwords, payment card details, or any other data not listed above.
Dartform does not currently collect usage analytics or crash reports. If that changes, we will update this Policy.
How We Use It
- —To authenticate you and maintain your signed-in session within the app.
- —To validate your license.
- —To send sign-in emails containing your sign-in link and code.
- —To process purchase and refund events received from Gumroad.
- —To respond to support requests submitted to our support email.
We do not use your data for advertising, profiling, or any purpose beyond operating and improving the Software.
Storage & Security
Account, purchase, and sign-in data is stored in a PostgreSQL database on a server operated by Mobterest Studio and hosted by Contabo. All communication between the Dartform app and our servers is encrypted in transit (TLS). Sign-in links, sign-in codes, and refresh tokens are stored only as one-way hashes, never in readable form.
On your device, Dartform keeps your sign-in tokens in its local application preferences. Because Dartform is currently distributed without code signing, it does not use the macOS Keychain or another system credential store, so anyone with access to your user account could read them. Signing out of Dartform removes them.
On Linux, Dartform also adds an application entry and icon under ~/.local/share and registers itself as the handler for dartform:// sign-in links in ~/.config/mimeapps.list, so that sign-in links open the app. These files stay on your device.
We implement reasonable technical and organizational measures to protect your data against unauthorized access, alteration, disclosure, or destruction. However, no method of transmission over the internet is 100% secure, and we cannot guarantee absolute security.
Third Parties
We use a small number of trusted third-party services to operate Dartform. Each receives only the minimum data necessary to perform its function.
| Service | Purpose | Data shared |
|---|---|---|
| Contabo | Hosting for Dartform's backend server and database | All data stored on our servers, as described in Section 02. Contabo provides the infrastructure; it does not use the data. |
| Resend | Delivery of sign-in and account emails | Your email address and the email's contents, including your sign-in link and code. |
| Gumroad | Payment processing for one-time purchases | Email address, purchase details. Payment card data is handled exclusively by Gumroad and never reaches our servers. |
We do not sell, rent, or trade your personal data to any third party for marketing or advertising purposes.
Your Rights
Regardless of your location, you have the following rights with respect to your personal data:
- —Access: You may request a copy of the personal data we hold about you.
- —Correction: You may request that inaccurate or incomplete data be corrected.
- —Deletion: You may request deletion of your account and associated personal data. Note that some data may be retained for legal or billing compliance purposes.
- —Portability: You may request your data in a structured, machine-readable format.
- —Objection: You may object to processing of your data where we rely on legitimate interests as the legal basis.
To exercise any of these rights, contact us at mobterest@gmail.com. We will respond within 30 days.
Data Retention
- —Account data is retained for as long as your account is active.
- —Sign-in links and codes expire after 15 minutes and are deleted within a day of expiring.
- —Refresh tokens are deleted 30 days after they expire or are revoked (for example, when you sign out).
- —Purchase records are retained for up to 7 years for tax and billing compliance.
Upon account deletion, all personally identifiable data will be removed from our active systems within 30 days, subject to the retention requirements above.
Children
Dartform is not directed at children under the age of 13. We do not knowingly collect personal data from children under 13. If you believe we have inadvertently collected such data, please contact us at mobterest@gmail.com and we will delete it promptly.
Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will revise the "Last updated" date at the top of this page. Material changes will also be announced in Dartform's GitHub Discussions.
Your continued use of the Software after any change constitutes acceptance of the updated Policy. If you do not agree to the updated Policy, you should discontinue use of the Software.
Contact
For any privacy-related questions, requests, or concerns, please contact us:
