Privacy Policy

Last updated: 26 April 2026 · Applies to Lead-Lens version 1.0 and later.

Lead-Lens (“the app”, “we”, “us”) is a business-card scanner app for iPhone and iPad. This policy explains, in plain English, what data the app handles, where it goes, and what choices you have.

If anything below isn't true any more, we'll update this page and bump the “Last updated” date. Material changes will also be called out in the app's “What's New” notes.

1. The short version

2. What we store, and where

On your device

The following data is stored locally in the app's private SwiftData container, encrypted at rest by iOS Data Protection (Class C):

If you ever uninstall the app, iOS deletes this data. We have no way to recover it.

In the iOS Keychain

Standard OAuth access and refresh tokens for the third-party services you voluntarily connect (currently Microsoft 365 and Microsoft Dynamics 365). Tokens are stored under the com.saeedsaf.LeadLens.tokens Keychain service and protected with kSecAttrAccessibleAfterFirstUnlock. Removing a connection from Settings → Connections deletes the matching token.

On our servers

None. Lead-Lens 1.0 has no server back-end. We do not operate a database, file store, or message queue that holds user data.

3. When data leaves your device

Only on your explicit action. The complete list, as of v1.0:

Action you takeWhat we sendWhere
Tap Export to Microsoft 365 (Outlook) The fields of the card you chose to export, formatted as a Microsoft Graph contact. https://graph.microsoft.com/v1.0/me/contacts — i.e. your own Outlook mailbox.
Tap Export to Microsoft Dynamics 365 The same fields, formatted as a Dataverse contact. The Dataverse environment URL you supplied when connecting (e.g. https://contoso.crm4.dynamics.com).
Tap Save to iOS Contacts The contact card. The on-device Contacts database, which then syncs according to your iCloud / Exchange Contacts settings — those are not Lead-Lens.
Tap Refresh Company (future Pro feature, not enabled in v1) The company name on the card. The Azure AI Foundry endpoint configured in Secrets.swift if the app's developer has enabled AI Assist. Off by default unless an endpoint is configured.
Tap Open on LinkedIn A LinkedIn URL or search query containing the contact's name. The LinkedIn iOS app or linkedin.com. LinkedIn handles it under their privacy policy.
The app fetches a company logo The contact's email domain (e.g. acme.com). logo.clearbit.com and, as a fallback, google.com/s2/favicons. The contact's name and personal data are not sent.

OAuth sign-in itself involves a redirect through login.microsoftonline.com in an ASWebAuthenticationSession browser, where Microsoft authenticates you directly. We never see your password.

4. What we never collect

Lead-Lens does not collect, transmit, store on our servers, or share with any third party:

5. Children

Lead-Lens is rated 4+ and does not knowingly collect data from anyone. It is also not directed at children under 13. If you believe a child has somehow been affected by the app, contact us at the address below and we will help.

6. Your rights

Because Lead-Lens stores everything on your device, you are already in control:

If you live in the EU/UK and rely on GDPR/UK-GDPR rights of access, rectification, erasure, restriction, portability, or objection — these are all satisfied by the in-app controls above. Because we hold no data on our servers, there is nothing for us to forward to a Data Subject Access Request. If you'd nevertheless like written confirmation of that, email us and we'll send it.

The legal basis under GDPR/UK-GDPR Article 6(1)(b) for processing the data you choose to send to Microsoft 365 / Dynamics 365 is performance of the contract you have with Microsoft (your work account); Lead-Lens is a processor only at that moment, and the data is in transit, not at rest with us.

7. Security

We do not promise that any system is impenetrable, but we follow standard Apple-recommended practices and we do not roll our own cryptography.

8. International transfers

Data only crosses borders when you trigger an export to Microsoft 365 or Dynamics 365. In that case the data goes to the Microsoft tenant region you chose when you set up your work account — not a region we picked. Microsoft's own privacy commitments cover that transfer.

9. Third-party services we touch

ServiceWhen it's reachedWhat is sharedTheir privacy policy
Microsoft Graph (graph.microsoft.com) Only when you tap “Export to Microsoft 365”. The card's fields. privacy.microsoft.com
Microsoft Dynamics 365 (your env URL) Only when you tap “Export to Dynamics 365”. The card's fields. privacy.microsoft.com
Microsoft sign-in (login.microsoftonline.com) Only during the OAuth handshake when you connect a Microsoft account. Whatever you type into Microsoft's sign-in page (we never see it). privacy.microsoft.com
Clearbit Logo API (logo.clearbit.com) Each time we display a company logo. The email domain on the card. clearbit.com/privacy
Google Favicon (google.com/s2/favicons) Logo fallback only. The email domain on the card. policies.google.com/privacy
LinkedIn (linkedin.com, linkedin://) Only when you tap “Open on LinkedIn”. A search query containing the contact's name. linkedin.com/legal/privacy-policy

10. Changes to this policy

We'll update this page when we add features that change what data the app handles. The new policy goes live before the new feature is enabled in a public release.

11. Contact

Questions, complaints, or right-to-erasure requests:

We'll respond within 30 days, usually much sooner.