This Privacy Policy explains how Polyfence ("we", "us", or "our") collects, uses, and protects your data when you use the Polyfence platform at polyfence.io, our REST API, and related services (collectively, the "Service").
If you use our open-source Flutter plugin, a separate Plugin Privacy Policy covers the plugin's anonymous telemetry. You do not need a Polyfence account to use the plugin.
Our Core Principle: We collect only what's necessary to run the Service. We don't sell your data, we don't serve ads, and your end users' location data stays on their devices.
When you create an account via GitHub OAuth, Google OAuth, or magic link email, we receive and store:
We only request the minimum OAuth scopes needed for authentication. We do not access your repositories, contacts, or other provider data.
When you create geofence zones through the dashboard or API, we store:
Zone data belongs to you. It is isolated to your account and never shared with other users or used for any purpose beyond providing the Service.
API keys are stored as SHA-256 hashes, not in plaintext. We cannot retrieve your key after creation — only you see the full key at the time it's generated. Keys are revocable at any time through the dashboard.
If you configure data connectors (ETL imports), the API keys and credentials you provide for external services are encrypted at rest using AES-256-GCM encryption. These credentials are only decrypted at sync time and are never logged or exposed in API responses.
We collect operational data to monitor the health and security of the Service:
We use essential cookies only — no marketing or tracking cookies:
We use your data exclusively to provide, secure, and improve the Service:
We do not sell your data, use it for advertising, profile you, or share it with data brokers. Ever.
The Service relies on the following third-party providers. Each receives only the minimum data needed for their function:
| Provider | Purpose | Data Shared |
|---|---|---|
| Supabase | Database & authentication | Account data, zones, API logs |
| Vercel | Hosting & serverless functions | All application traffic (request metadata) |
| Polar | Payment processing | Email, subscription status, tier |
| Sentry | Error monitoring | Error traces, request context (no PII) |
| Upstash | Rate limiting | Anonymized request counts |
| OpenStreetMap / Nominatim | Reverse geocoding & map tiles | Coordinates (when you use geocoding) |
We do not use Google Analytics, Mixpanel, Amplitude, or any third-party analytics or advertising tools.
We take security seriously at every layer:
We retain data only as long as needed:
When you delete your account, all your data — zones, API keys, logs, profile, and connector configurations — is permanently and irreversibly deleted via cascading deletion. There is no recovery.
Regardless of where you're located, we provide the following rights to all users:
You can export all your zone data at any time via the Export button on the Zones page (GeoJSON or CSV format). For a full data export covering your entire account, email hello@polyfence.io.
You can update your zone data and account details directly through the dashboard at any time.
Go to Account → Profile → Delete Account to permanently remove all your data. This is immediate and irreversible. You can also request deletion by emailing hello@polyfence.io.
Zone data can be exported in machine-readable GeoJSON or CSV format. For other data, contact us and we'll provide it within 30 days.
If you object to how we process your data, contact hello@polyfence.io. We'll respond within 30 days.
If you're in the European Economic Area or UK, we process your data under the following legal bases:
Classification of data fields under GDPR can vary by context and jurisdiction; consult qualified counsel if your use of the Service requires a formal data protection assessment.
If you're a California resident, you have the right to know what personal information we collect, request its deletion, and opt out of its sale. We do not sell personal information and have never done so. Whether specific data fields qualify as personal information under CCPA can depend on context; consult counsel if your use case requires a formal determination.
To exercise your CCPA rights, email hello@polyfence.io or use the account deletion feature in the dashboard.
Polyfence does not collect, process, or store end-user location data.
The Polyfence plugin performs all geofencing on-device. GPS coordinates and geofence events are processed locally on your users' devices and are never transmitted to Polyfence servers.
If you build an application with Polyfence that collects location data from your users, you are responsible for your own privacy policy and compliance with applicable location data regulations.
Our open-source Flutter plugin collects anonymous performance telemetry (enabled by default, opt-out with one line of code). This telemetry contains no location data, no PII, and no user identifiers.
What gets collected (21 fields, v0.12.0+):
For full details on each field, opt-out instructions, and data retention, see the Telemetry Reference on GitHub.
The Service is designed for developers and businesses. We do not knowingly collect data from children under 13 (or the applicable age of consent in your jurisdiction). If you believe a minor has created an account, contact us and we'll delete it promptly.
We may update this policy to reflect changes in our practices or legal requirements. For material changes, we'll notify you by email. For minor updates, we'll update the "Last Updated" date at the top of this page.
Where the law requires stronger notice or consent for material changes, we will comply. Continued use of the Service after changes constitutes acceptance of the updated policy.
Privacy questions & data requests: hello@polyfence.io (48-hour response)
Data deletion requests: hello@polyfence.io (30-day response)
Security vulnerabilities: hello@polyfence.io
General inquiries: hello@polyfence.io
Version: 2.0
Effective Date: March 26, 2026
Last Updated: March 26, 2026
© 2026 Polyfence. All rights reserved.