Privacy Policy
This policy covers the Elements app for iOS and Android. Sections 1–5 and 7–14 apply to both; section 6 sets out everything that is different about the Android build. It is separate from, and additional to, the general site privacy policy at thesolanalabs.com/privacy-policy/.
Elements lets you design and place widgets. This policy explains, in plain terms, exactly what the app touches, what stays on your phone, and the few things that leave it.
The short version: Elements has no accounts, no analytics and no server of ours. Your designs and records stay on your device. On the free plan the app shows ads from Google AdMob — that is the one thing about you that leaves your phone, it is set out in full in section 5, and it is never shown on a widget. Elements Pro has no ads at all.
1. Who we are
Elements is published by THE SOLANA LABS (PRIVATE) LIMITED (CUIN 0347376), a company incorporated in Pakistan.
- Registered office: Minhaj Chowk, Saghar, Talagang 48150, Pakistan
- Office: Street No 7, Shah Khalid Colony, Rawalpindi 46200, Pakistan
Email: [email protected]
For the purposes of the UK GDPR and EU GDPR, that entity is the data controller for the processing described in sections 4 and 5.
2. What we do not do
We want to be specific, because “we value your privacy” is not information. Elements contains:
- No user accounts. There is nothing to sign up for and no password.
- No general-purpose analytics SDK. No Firebase, Amplitude or similar. We do not measure which widgets you build, which designs you make, or which screens you visit. The one exception is purchase-related: RevenueCat records that the paywall or the subscription-management screen was shown, and any answer you give its cancellation survey — see section 4.3.
- No analytics of your content. Nothing you design, write, log or count is measured, uploaded or shared — including with an advertiser.
- No crash-reporting or attribution SDK.
- No selling of personal information, for any purpose, ever. We receive no payment of any kind for data about you.
- No profiling and no automated decision-making by us.
One honest correction. Until 18 October 2026 this list also said the app contained no advertising and never asked for tracking permission. The free plan now shows ads through Google AdMob, so that claim has been removed rather than quietly reworded. Under the California Consumer Privacy Act, showing personalised ads may count as “sharing” for cross-context behavioural advertising. You can stop it at any time — decline the tracking prompt, or take Pro, which has no ads. Section 5 explains all of it.
3. What stays on your device
Everything you create in Elements is stored in the app’s own private storage on your phone and shared only with the app’s own widgets. None of it is transmitted to us or to anyone else. Deleting the app deletes all of it.
That includes:
- Your designs — themes, faces, backgrounds, accents, typography and layout choices.
- Your mini-app records — habits and check-ins, tallies and counters, subscription renewals, readings, canvases, quotes you write, saved places and world clocks, countdown and “days since” dates.
- Your settings — units, preferred theme, refresh preferences.
- Your widget diagnostics — the Widget Health screen keeps a capped local log of when your widgets reloaded. It exists so you can see your widgets are updating. It is never transmitted.
Device permissions we ask for, and why
This is the iOS list. Android asks for a different and shorter set, and has one permission iOS does not — see section 6.
We only ask when a feature needs it, and the app works without any of them.
| Permission | Why | What happens to the data |
|---|---|---|
| Calendar | To show your next events in the Up Next widgets | Read on device to draw the widget. Never written to, never uploaded |
| Reminders | To power the Groceries checklist widget | Read on device. Ticking an item writes that one change back to Reminders. Nothing else is written, nothing is uploaded |
| Health | Steps, walking distance and sleep for the health widgets | Read-only. Elements requests no write access and never writes to Health. Values are cached on your device for the widgets and are never uploaded |
| Location (while in use) | To fetch weather where you are | Used for the request, then discarded. Never stored, never uploaded to us. If you pin a place in Settings instead, location is never requested at all |
| Photos | For the Photo widget | You pick a photo; the app stores the system’s reference to that one photo. Your library is never scanned and no photo is uploaded |
| Notifications | Renewal and habit reminders | Scheduled locally on your device. There is no push server and we never send you anything |
| Tracking (free plan only) | To show ads that are more relevant to you | Asked once, and only after the consent form where one applies. Saying no still shows ads, just less personal ones — see section 5. Pro never asks |
You can withdraw any of these at any time in iOS Settings. The affected widget will say what it is missing rather than failing silently.
4. The few things that leave your device
Elements makes a small number of network requests. None of them carry your name or an account, because the app has neither, and none of them carry anything you created. The one request on the free plan that does involve an identifier is advertising, which has a section of its own — section 5.
4.1 Weather
Weather comes from Apple Weather (WeatherKit). Your coordinates — or the place you pinned — are sent to Apple to get a forecast. Apple’s handling of that request is governed by Apple’s own privacy policy.
Optionally, you may enter your own OpenWeather API key in Settings to get air quality, which Apple does not publish. If you do, coordinates go to OpenWeather under your own key and their terms. Your key is stored in your device’s Keychain, is never shared with the widget extension, and is never sent to us.
4.2 Public content feeds
These requests fetch public content. Each carries only what it needs, and nothing about you:
| Feature | Service | What is sent | On by default? |
|---|---|---|---|
| Exchange rates | European Central Bank reference feed via frankfurter.app | The currency pair | Only if you place that widget |
| Verse of the Day | alquran.cloud | Nothing identifying | Yes, for that widget |
| Word of the Day | A Wiktionary-derived dictionary API | The word being looked up | No — off unless you turn it on |
| Quotes top-up | zenquotes.io | Nothing identifying | No — off unless you turn it on |
| News headlines | The feeds you add yourself | A request to the feed URL you entered | No — the app ships with no feeds |
For news, note that you choose the publishers. When your device requests a feed, that publisher’s server can see your device’s IP address, exactly as it would if you opened the page in a browser. Elements downloads no images from feeds and stores only the headline, the name you gave the feed, and the time.
4.3 Purchases
Purchases are processed by Apple and managed through RevenueCat, Inc., which we use to validate subscriptions and restore them across your devices.
RevenueCat receives purchase history — what was bought, when, and whether it is still active — associated with an anonymous identifier that RevenueCat generates. We do not send RevenueCat your name, your email, or any custom user ID, and RevenueCat does not use this data for tracking.
RevenueCat also records that the paywall or the subscription-management screen was shown, and any answer you choose to give its cancellation survey. That is the only screen-level measurement anywhere in the app, and it exists so the purchase flow can be supported and improved.
Your payment details go to Apple and are never seen by us or by RevenueCat.
RevenueCat’s privacy policy: revenuecat.com/privacy
4.4 When you contact us
If you email support, we receive your email address and whatever you choose to write. We use it only to answer you, and we do not add you to any mailing list.
5. Advertising (free plan only)
Elements is free to use, and on the free plan advertising is what pays for it. Ads are served by Google AdMob, a Google service. We do not run our own ad network, and we build no advertising profile of you ourselves.
Elements Pro shows no ads at all, and no ad ever appears on a widget — your Home Screen and Lock Screen stay clean. Nothing you make or record in Elements is shared with an advertiser: not a design, a habit, a counter, a note, a photo, a health figure, a calendar event or a reminder.
5.1 Where ads appear, and where they never do
- Cards in the Home feed, in collection panels and in My widgets, and a banner in My widgets.
- A full-screen ad only at a natural pause — after you save a widget, on leaving a collection, on closing the studio. Never while you are editing, and never on the paywall or during onboarding.
- An ad when you come back to the app after being away for a while — never on a cold start, and never when you opened the app by tapping a widget.
- A rewarded ad, but only one you deliberately choose to watch (section 5.5).
- Never on a widget, and never in the first session — your first look at Elements is Elements.
Full-screen ads are capped: at most one every two minutes, and at most six a day.
5.2 What Google receives
To select, show and measure an ad, Google’s Mobile Ads SDK collects the following from your device:
| What | When | Why |
|---|---|---|
| The advertising identifier — the IDFA on iOS, the Android Advertising ID (AAID) on Android | On iOS, only if you allow tracking when asked. On Android, where your consent and your device settings allow it | To personalise ads, cap how often you see the same one, and measure clicks |
| IP address, and the approximate area derived from it | Every ad request | To serve region-appropriate ads and meet local legal requirements. The app never sends your GPS location to an advertiser |
| Device and app information — device model, OS version, language, app version | Every ad request | To deliver an ad that fits and works on your device |
| Ad interactions — impressions and clicks | Every ad | Measurement, billing and fraud prevention |
Google acts as an independent controller for this data. Its handling is governed by the Google Privacy Policy and by How Google uses information from sites or apps that use our services.
5.3 Personalised ads and the tracking prompt
On iOS, personalised advertising also requires your permission through Apple’s App Tracking Transparency prompt. Elements asks once, and only after the consent form where one applies — never before.
On Android there is no equivalent system prompt. Your control there is the consent form in section 5.4, together with Android’s own advertising-ID settings: Settings → Privacy → Ads, where you can reset the identifier or delete it so apps stop receiving it at all.
If you choose Ask App Not to Track, the app does not access your IDFA and ads are served on a non-personalised basis: chosen from general context rather than from an advertising profile. You still see ads — they are simply less relevant. You can change your mind at any time in Settings → Privacy & Security → Tracking.
5.4 Consent in the UK and EU
In the EEA, the UK and Switzerland, Elements shows a Google-certified consent form before it requests a single ad, and before the tracking prompt. You choose there whether ads may be personalised.
You can revisit that choice whenever you like, inside the app. The row appears wherever the consent form applies, and it sits in a different place on each platform:
- iOS — Settings → About → Ad privacy choices
- Android — Settings → Purchases → Ad privacy choices
5.5 Rewarded ads and the seven-day unlock
Some widget kinds are part of Pro. On the free plan you may choose to watch a rewarded ad to unlock one of them for seven days. It is always optional — nothing in the app requires you to watch an ad.
When you do, the app stores on your device which widget kind was unlocked and the date the unlock ends. That is all. Nothing about you is recorded, and nothing is uploaded to us or to anyone else. Watching again renews the seven days from that moment; unlocks do not stack, and they disappear when you delete the app.
5.6 What the app keeps on your device to keep ads reasonable
So that the caps in section 5.1 can be enforced, the app records locally how many times it has been launched, when full-screen ads were shown, and when the last return-to-app ad appeared. This sits in the app’s own storage, is never transmitted, and goes when the app goes.
5.7 How to stop seeing ads, or make them less personal
- Remove ads entirely — Elements Pro has none, on any screen.
- Make them non-personalised — on iOS, decline the tracking prompt or turn Elements off under Settings → Privacy & Security → Tracking. On Android, use the consent form and Settings → Privacy → Ads.
- Change your UK/EU consent — Ad privacy choices in the app (under About on iOS, Purchases on Android).
- Reset or delete the identifier — on iOS, turning off Allow Apps to Request to Track stops apps receiving the IDFA at all. On Android, Settings → Privacy → Ads resets or deletes the Advertising ID.
- At Google — review and delete ad activity in your Google account at My Ad Center.
6. The Android app
The Android app is a separate build with the same design and a different set of system services underneath it. Sections 1 to 5 and 7 to 14 apply to it unchanged — no accounts, no analytics, no server of ours, the same advertising rules, and your designs and records never leave your device. What follows is what is different.
6.1 What leaves your device, in full
These features contact an external service. The widget itself never opens a connection — it draws what the app last saved.
| Feature | Service | What is sent | On by default? |
|---|---|---|---|
| Searching for a place | Android’s own place lookup (Geocoder), which on most phones is provided by Google Play Services | The words you type into the search box | Only while you are searching |
| Weather and air quality | api.openweathermap.org | Your own API key, and the coordinates of the place you pinned | No — there is no weather until you add a key |
| Exchange rates | api.frankfurter.dev (European Central Bank reference rates) | The two currency codes | When the app refreshes rates |
| Verse of the Day | api.alquran.cloud | The verse number | For that widget |
| Word of the Day | en.wiktionary.org | One English headword a day | For that widget |
| Purchases and restoration | Google Play and RevenueCat | Purchase tokens and history, an anonymous app user ID, app and device technical information | Billing initialises when the app opens; payment requires your action |
| Advertising | Google AdMob | As set out in section 5 | Free plan only, from the second launch. Never for Pro, never in a widget |
There is no Apple Weather on Android. iOS gets weather from WeatherKit without a key; the Android app has no equivalent, so weather works only if you supply your own free OpenWeather key. Your key is kept in this app’s private storage on your phone, is excluded from backup (see 6.4), and is never sent to us.
The app does not ask for your location. It holds no location permission of any kind and never reads where you are. The place a weather widget uses is one you typed into a search box.
That search is worth stating plainly, because it is the one thing here that looks local and is not. Looking up a place name uses Android’s own Geocoder, which on most phones is provided by Google Play Services — so the words you type go to Google, under your existing relationship with them, exactly as they would in any app offering a place search. It needs no permission and no key, which is what makes it look local; the absence of a permission prompt is not evidence that nothing was sent. Once you pin a place, nothing further is sent: the coordinates are stored on your phone, used for the on-device sunrise, sunset and prayer-time calculations, and sent onward only to fetch weather.
6.2 App usage — the permission Android has and iOS does not
The Screen time, Pickups and Mobile data widgets need Usage access (PACKAGE_USAGE_STATS). This is Android’s “special app access”, granted by you in Android’s own Settings rather than by a pop-up.
What it gives the app: which apps you opened and how long each was in front, for today; device unlocks today; and total cellular bytes sent and received since the start of the current month.
What it does not give, and what the app never asks for anywhere else: anything about what you do inside those apps. No messages, no web addresses, no search terms, no typing, no screen contents. Android does not expose any of that through this permission.
Where it goes: nowhere. It is read on your phone at the moment a widget draws, turned into a number on the pane, and that is the end of it. It is not uploaded, not sent to us, not shared with anyone, not given to an advertiser, and not written into backup.
It is optional. If you never grant it, the rest of the app works and those widgets say which reading they are missing rather than showing a figure nobody measured. You can revoke it at any time in Android Settings → Special app access → Usage access, and the app notices the moment you return to it. The app explains all of this on its own screen before sending you to the Android setting, and there is no route to that setting that skips the explanation.
6.3 The other Android permissions
| Permission | Why | Notes |
|---|---|---|
Calendar (READ_CALENDAR) | To show your next event | Read only. There is deliberately no write permission — the app shows what is on your calendar and has no business changing it |
| Internet | The requests in 6.1 | Nothing else in the app opens a socket |
App visibility (queries) | So a screen-time row can say “Instagram” rather than “com.instagram.android” | The narrow form: it makes visible only apps you can launch. The app deliberately does not request QUERY_ALL_PACKAGES |
Advertising ID (AD_ID) | Added by the Google Mobile Ads SDK on the free plan | See section 5. You can reset or delete the identifier in Android Settings → Privacy → Ads |
Photos need no permission at all. Picking one goes through the Android system photo picker, which hands the app the single image you chose — your library is never scanned and nothing else in it is visible to the app.
6.4 Android backup
If you use Google’s backup, or transfer to a new phone, the things you made travel with you: habits, counters, dates, places, your designs, and the widgets you have placed. Losing those because you changed phone would be the app throwing your work away.
Two things are deliberately excluded from both cloud backup and device-to-device transfer:
- Your weather API key. It is a credential you typed. It is free to replace and takes a moment to re-paste, and copying it into anyone’s cloud is not a choice we should be making for you.
- Anything cached — a rate, an agenda snapshot, a weather reading. Restored onto a new phone these would be readings about somewhere you no longer are, from a device you no longer have. They re-fetch in seconds.
6.5 What the Android app does not have
Some things described earlier in this policy do not exist in the Android build, so nothing is collected for them:
- No health or fitness data. There are no step, distance or sleep features on Android at all, and the app holds no health permission.
- No reminders. iOS backs the Groceries widget with your Reminders list; Android has no such system store, so that list lives inside the app.
- No quotes top-up and no news feeds. Neither feature exists in the Android build.
- No App Tracking Transparency prompt, because Android has no such thing — your advertising controls are the consent form and Android’s own ad settings (section 5.3).
6.6 Android purchases
Google Play processes payments; RevenueCat validates purchases and manages Elements Pro access. Section 4.3 applies with Google Play replacing Apple. Payment card details are handled by Google Play, and are never seen by us or by RevenueCat.
RevenueCat receives purchase tokens and history, an anonymous app user identifier, and technical information including app and OS version and device information. We do not send RevenueCat your widget records, your app-usage readings, your name or your email address, and there is no advertising attribution integration.
Restore purchases uses the Google Play account that made the purchase. Because Elements has no login, an iOS purchase is not automatically linked to Android. Deleting your widget data does not cancel a subscription or erase store purchase records; billing identity and an on-device entitlement cache are kept so paid access survives. Cancel in Google Play; write to [email protected] for a request about purchase data held by our processor. Google Play may retain transaction records under its own policies.
6.7 Deleting your data on Android
Everything the app stored is removed when you uninstall it. You can also clear it without uninstalling, from Android Settings → Apps → Elements → Storage → Clear storage, or from inside the app at Settings → Your data → Delete your data.
Advertising data is held by Google, not by us, so deleting the app does not reach it — reset or delete your advertising ID in Android Settings → Privacy → Ads, and review or delete ad activity at My Ad Center.
7. Legal bases for processing (UK/EU GDPR)
Most of what Elements does involves no processing by us at all, because the data never reaches us. Where it does:
- Personalised advertising — your consent, given through the consent form in section 5.4 and the tracking prompt in 5.3, and withdrawable at any time by either route.
- Non-personalised advertising, frequency capping and ad-fraud prevention — our legitimate interest in funding a free app and in not showing you the same ad repeatedly.
- Purchase data (via RevenueCat) — processed for the performance of a contract (giving you what you paid for) and our legitimate interest in preventing fraudulent entitlements.
- Support email — processed on the basis of your consent, given by choosing to write to us, and our legitimate interest in supporting the app.
- On-device permissions (Calendar, Reminders, Health, Location, Photos, Notifications on iOS; Calendar, Usage access and Photos on Android) — you grant these to the app on your own device, through iOS or Android. We never receive that data, so we do not process it.
8. Retention
- On-device data is kept until you delete it in the app, or until you delete the app. We cannot delete it for you, because we cannot reach it.
- Advertising data is retained by Google under its own policies and retention schedules; we hold none of it. The local counters described in section 5.6 stay on your device and are deleted with the app.
- Purchase records are retained by RevenueCat and Apple for as long as needed to manage your subscription and to meet tax and accounting obligations.
- Support email is kept only as long as needed to resolve your question.
9. Your rights
Depending on where you live, you may have the right to access, correct, delete, port or restrict processing of your personal data, to object to processing, and to lodge a complaint with your data protection authority. Residents of California have rights of access, deletion, correction and portability, and the right not to be discriminated against for exercising them.
In practice, for Elements:
- Access and deletion of your app data is immediate and in your hands: it is all on your device, visible in the app, and removed entirely when you delete the app. On Android you can also clear it without uninstalling — see section 6.7.
- For purchase records, write to us at the address in section 1 and we will action the request with RevenueCat.
- To withdraw advertising consent, use Settings → About → Ad privacy choices or Settings → Privacy & Security → Tracking. Both take effect immediately, with no need to write to anyone. For data already held by Google we will pass a request on to them; Google’s own controls are at My Ad Center.
We do not charge for these requests and will respond within the period required by applicable law.
10. Children
Elements is not directed at children under 13 (or under 16 in the European Economic Area, where local law sets that age), and we do not knowingly collect personal information from them. The app has no account system, no social features, no chat and no user-to-user content of any kind.
Because the app is not directed at children, advertising is not configured for child-directed treatment. If you would prefer a child using this device not to see advertising at all, Elements Pro removes every ad.
11. International transfers
The publisher is established in Pakistan. Google LLC and RevenueCat, Inc. are established in the United States. None of these is covered by a UK or EU adequacy decision.
In practice the only personal data that reaches the publisher is the content of an email you choose to send us (section 4.4). Advertising data is held by Google, and purchase data by RevenueCat and Apple — not by us. Where advertising or purchase data is transferred out of the UK or EEA, that transfer relies on the safeguards offered by the receiving processor or controller, including Standard Contractual Clauses where applicable.
Your on-device data — designs, habits, counters, renewals, readings, health figures, calendar and reminders — is never transferred anywhere, because it never leaves your device.
12. Security
Your data stays inside the app’s sandboxed container, protected by the operating system and your device passcode — iOS file protection on iPhone and iPad, Android’s per-app storage on Android. Your optional OpenWeather API key is held in the iOS Keychain; on Android it sits in the app’s private storage and is excluded from backup (section 6.4). All network requests the app makes use HTTPS; the news feature refuses plain-http URLs both when you enter one and again when fetching, so a feed cannot be downgraded later.
13. Changes to this policy
If this policy changes materially, we will update the date at the top and note the change in the app’s release notes. Continuing to use Elements after a change means you accept the updated policy.
14. Contact
THE SOLANA LABS (PRIVATE) LIMITED · CUIN 0347376
Registered office: Minhaj Chowk, Saghar, Talagang 48150, Pakistan
Office: Street No 7, Shah Khalid Colony, Rawalpindi 46200, Pakistan
Email: [email protected]
Elements is an independent app. Apple, iPhone, Apple Health, WeatherKit and App Store are trademarks of Apple Inc.
Google, Google Play, Android and AdMob are trademarks of Google LLC.