GDPR Policy
1. Introduction
We respect your privacy and are committed to protecting your personal data. This GDPR Policy explains how Lidr (“we”, “us”, “our”) collects, uses, stores, and protects your personal information when you use our mobile application and related services, in accordance with the General Data Protection Regulation (GDPR) applicable in the European Union.
This policy was last updated on 6 July 2026.
2. Data Controller
The data controller responsible for your personal data is Lidr. If you have questions about this policy or wish to exercise your rights, please contact us at privacy@lidr.io.
3. Data We Collect
We collect the following categories of personal data when you use our app:
3.1 Account & Identity Data
Full name, email address, and phone number (optional) provided during registration.
Profile photo (avatar) you upload.
Password (stored only as a bcrypt hash; we never store or have access to your plaintext password).
If you sign in via Google, Apple, or Microsoft, we receive your name, email, and provider user ID from the OAuth provider.
3.2 Photos, Videos & Documents
Photos and videos you capture or import through the app.
EXIF metadata extracted from your photos, including: camera make, model, lens, serial number, focal length, ISO, aperture, shutter speed, flash, orientation, and original capture date/time. This metadata is encrypted with AES-256-GCM before storage and is stripped from publicly accessible files.
PDF documents you generate within the app.
AI-generated descriptions of your photos (see Section 7).
3.3 Location Data
Precise GPS coordinates (latitude, longitude), altitude, and compass heading, collected with your explicit consent when you use the camera or location features.
GPS data may be embedded as an overlay on your photos and is stored encrypted alongside your upload metadata.
Project location data (address, coordinates) when you associate uploads with a project.
3.4 Device & Technical Data
IP address, collected on login and used for new-device security alerts. Your IP address is geo-located server-side using a local database (no external service) to generate an approximate location string (e.g., “Dublin, Ireland”).
User agent string (browser/device identifier).
Device fingerprints, stored to detect and alert you about logins from unrecognised devices.
Push notification token, if you enable push notifications.
3.5 Usage & Activity Data
Activity logs recording significant actions (login, logout, photo upload, project creation) with a hashed IP address and user agent, for security auditing.
Subscription and trial interaction timestamps (e.g., when a trial offer was shown, accepted, or dismissed).
Crash reports and performance traces collected via Sentry (see Section 6.1).
3.6 AI Chat Data
Messages you send to the AI assistant, including text queries and image attachments.
Conversation history, stored to provide continuity across chat sessions.
Token usage metrics per message.
3.7 Payment & Subscription Data
Stripe customer ID, subscription ID, and invoice records for web/B2B subscriptions.
Last four digits of your payment card, card brand, and expiry date (received from Stripe; we never store full card numbers or CVVs).
Apple App Store or Google Play transaction IDs, product IDs, purchase dates, and expiry dates for in-app purchases.
3.8 Cloud Drive Data
If you connect Google Drive, Microsoft OneDrive, or Dropbox, we store OAuth access and refresh tokens to sync your files. Google Drive access is limited to the
drive.filescope (only files created by or opened with Lidr).
4. How We Use Your Data
Your data is used for the following purposes:
Providing the service: storing and organising your photos, videos, and documents; enabling project management; generating PDFs; syncing to cloud drives.
AI features: analysing your photos to generate descriptions and powering the AI chat assistant using your upload metadata and conversation history as context (see Section 7).
Account security: device fingerprinting and IP geolocation to detect new-device logins and alert you; password hashing; two-factor authentication.
Communications: sending transactional emails (registration confirmation, password reset, new device alerts, data export delivery) and, with your consent, promotional materials.
Subscription management: processing payments, managing subscription tiers, handling upgrades, cancellations, and refunds.
Crash reporting and stability: collecting error reports and performance data to identify and fix bugs.
Legal compliance: maintaining activity logs for security auditing and fraud prevention.
5. Legal Basis for Processing
We process your personal data based on the following legal grounds:
| Legal Basis | Data & Processing Activity |
|---|---|
| Consent (Art. 6(1)(a)) | GPS/location access; push notifications; AI-powered image analysis; cloud drive connections; promotional emails; crash report screenshots. |
| Performance of Contract (Art. 6(1)(b)) | Account registration and authentication; photo/video/document storage and processing; subscription and payment management; data export. |
| Legitimate Interest (Art. 6(1)(f)) | Device fingerprinting and new-device alerts (security); activity logging (fraud prevention and auditing); crash and performance reporting (service reliability); IP geolocation (security notifications). |
| Legal Obligation (Art. 6(1)(c)) | Retaining financial transaction records as required by applicable law; responding to lawful requests from authorities. |
6. Third-Party Data Processors (Sub-Processors)
We share your data with the following third-party processors, each under a Data Processing Agreement (DPA):
6.1 Crash Reporting & Monitoring
Sentry (Functional Software, Inc., USA) — receives user ID, email, error data, performance traces, and may receive screenshots of the app at the time of a crash. Sentry’s privacy policy and DPA apply.
6.2 AI Processing
OpenAI (OpenAI, LLC, USA) — receives your chat messages, conversation history, photo metadata context, and time-limited signed URLs to your photos for image analysis and the AI chat assistant. See Section 7 for details.
6.3 Cloud Infrastructure
Amazon Web Services (AWS) (USA) — hosts our backend infrastructure, database, and stores all uploaded files in S3. Also provides SQS for async processing queues.
6.4 Payment Processing
Stripe (Stripe, Inc., USA) — processes web and B2B subscription payments. Full card details are handled exclusively by Stripe; we only receive tokenised data.
Apple (App Store) — processes iOS in-app purchases. Transaction data is validated via Apple’s server-to-server API.
Google (Google Play) — processes Android in-app purchases.
6.5 Email Delivery
Resend (Resend, Inc., USA) — processes and delivers all transactional emails on our behalf. Your email address is transmitted to Resend for delivery.
6.6 Push Notifications & App Updates
Expo (650 Industries, Inc., USA) — delivers push notifications to your device and provides over-the-air app updates. Device identifiers and push tokens are transmitted to Expo’s servers.
6.7 Location Services
Google Places API (Google LLC, USA) — provides address autocomplete and reverse geocoding for project locations. Queries are proxied through our backend; your device does not communicate directly with Google.
7. AI and Automated Processing
Our app uses artificial intelligence in two ways:
7.1 Automatic Image Analysis
When you upload a photo, it is automatically sent to OpenAI’s Vision API to generate a text description. A time-limited signed URL to your image is provided to OpenAI; the URL expires and becomes inaccessible after a short period.
The generated description is stored alongside your upload and helps power search and organisation features.
This processing is based on your consent, which you may withdraw at any time.
7.2 AI Chat Assistant
When you use the chat assistant, your message, recent conversation history, and relevant metadata about your uploads (filenames, tags, GPS coordinates, timestamps, project names) are sent to OpenAI to generate a response.
Up to 3 historical image attachments and additional images from the current message may be included.
Chat messages are stored in our database to maintain conversation continuity. You can delete conversations at any time.
7.3 Safeguards
AI processing is rate-limited to 100 messages per user per day.
Image analysis is capped at 300 tokens per photo.
No automated decisions with legal or similarly significant effects are made based on AI processing.
8. Data Storage & Local Processing
8.1 On-Device Storage
Authentication tokens are stored in your device’s secure keychain (iOS Keychain / Android Keystore).
Upload queue state, app settings, and cached data are stored in AsyncStorage on your device.
A local SQLite database stores photo and document metadata for offline access.
All image processing (overlays, markup, crop, rotate, compression) happens entirely on your device before upload. No unprocessed images are sent to our servers.
8.2 Server-Side Storage
Your files are stored in AWS S3 with Intelligent Tiering. Both original and processed versions are retained.
Structured data (account info, upload metadata, chat history, subscriptions) is stored in a PostgreSQL database.
Session and cache data is stored in Redis with TLS encryption and authentication in production.
EXIF metadata is stripped from accessible image files and stored separately, encrypted with AES-256-GCM using per-user keys.
9. Data Retention
We retain your personal data according to the following schedule:
| Data Type | Retention Period |
|---|---|
| Account data | Until you delete your account. |
| Photos, videos, documents | Stored indefinitely until you delete individual items or your account. No automatic expiry. |
| AI chat history | Stored until you delete a conversation or your account. No automatic expiry. |
| Activity logs | Retained for security auditing purposes. Hashed IP addresses are used. |
| Device fingerprints | Retained while your account is active, for ongoing security monitoring. |
| Payment records | Retained as required by applicable financial regulations (typically 7 years). |
| Crash reports (Sentry) | Retained per Sentry’s data retention policy (default 90 days). |
| Data exports | Export files expire and are deleted after a limited period. |
| Deleted accounts | Soft-deleted with a 7-day grace period (during which you may restore your account), then permanently and irreversibly deleted including all associated S3 files. |
10. Data Sharing and Disclosure
We do not sell your personal data. Beyond the sub-processors listed in Section 6, we may share your information only:
With legal authorities if required by law, regulation, or valid legal process.
To protect the rights, safety, or property of Lidr, our users, or the public.
In connection with a merger, acquisition, or sale of assets, in which case you will be notified of any change in data controller.
11. International Data Transfers
Your personal data is processed and stored primarily in the United States via our cloud infrastructure providers (AWS, OpenAI, Sentry, Stripe, Resend, Expo). When your data is transferred outside the European Economic Area (EEA), we ensure adequate protection through:
Standard Contractual Clauses (SCCs) approved by the European Commission.
The EU-US Data Privacy Framework, where applicable.
Data Processing Agreements with each sub-processor.
12. Your Rights
Under GDPR, you have the following rights, which you can exercise through the app or by contacting us:
Right of access (Art. 15): request a copy of all your personal data. Use the “Export My Data” feature in the app (Settings > Privacy > Export Data) or contact us.
Right to rectification (Art. 16): correct your name, phone number, email, and profile photo at any time via your profile settings.
Right to erasure (Art. 17): delete your account via Settings > Account > Delete Account. After a 7-day grace period, all your data is permanently deleted from our servers and cloud storage.
Right to restrict processing (Art. 18): request that we limit how we process your data in certain circumstances.
Right to data portability (Art. 20): export all your data as a downloadable ZIP file. Rate-limited to one export per 24 hours. Large exports are delivered via email.
Right to object (Art. 21): object to processing based on legitimate interest, including device fingerprinting and activity logging.
Right to withdraw consent: withdraw consent for location access, push notifications, AI image analysis, or cloud drive connections at any time through your device settings or the app. Withdrawal does not affect the lawfulness of prior processing.
Right to lodge a complaint: you may lodge a complaint with your local data protection authority.
13. Security Measures
We implement appropriate technical and organisational measures to protect your personal data, including:
Encryption in transit (TLS/HTTPS for all API communications; TLS for Redis connections).
Encryption at rest (AES-256-GCM for EXIF metadata; AWS S3 server-side encryption).
Password hashing with bcrypt.
Two-factor authentication (optional).
New-device login alerts via email with IP geolocation.
Rate limiting on API endpoints to prevent abuse.
Soft-delete with grace period to protect against accidental data loss.
Secure token storage using device keychain (iOS Keychain / Android Keystore).
14. Children’s Data
Our app is not directed at children under the age of 16. We do not knowingly collect personal data from children under 16. If we become aware that we have collected data from a child under 16, we will take steps to delete that data promptly. If you believe a child has provided us with personal data, please contact us at privacy@lidr.io.
15. Changes to This Policy
We may update this GDPR Policy to reflect changes in our practices, services, or legal requirements. Updated policies will be posted on this page with the effective date clearly indicated. For material changes, we will notify you via email or an in-app notification.
16. Contact Us
If you have questions about this policy, wish to exercise your rights, or have concerns about how we handle your data, please contact us at:
Email: privacy@lidr.io