Last updated: September 6, 2026
1. About this notice
This notice explains the data practices of SQL Interview Lab, an Android application published by Yani Technologies Inc. It supplements our general Privacy Policy. If the two policies differ, this application-specific notice applies to SQL Interview Lab.
2. Local SQL practice
SQL Interview Lab is designed to work without an account or an application backend. Challenge datasets ship with the application, SQL statements run against local SQLite databases, and answer validation occurs on the device.
Queries you type, result rows, drafts, saved queries, query history, interview answers, scores, streaks and detailed progress are not uploaded to Yani Technologies Inc. The application does not give us remote access to this content.
3. Information stored on the device
The application stores local databases, preferences, purchase entitlement, challenge attempts, daily results and interview history so its features work between sessions. This information remains under the user’s control on the device and is generally removed when application data is cleared or the application is uninstalled, subject to Android backup and device-transfer settings.
4. Technical information sent off the device
Google services integrated into the application may receive limited technical information for advertising, consent management, analytics, reliability, configuration, billing and fraud prevention. Depending on the service, device settings, region and consent, this may include IP address, approximate region, device and operating-system information, application version, language, app-instance or installation identifiers, feature events, advertising interactions, purchase status and crash diagnostics.
These integrations are not used to transmit a query you type, a query result, a dataset row, or a table or column name from the SQL editor.
5. Advertising, consent and AD_ID
Free users may see banner, interstitial, app-open or rewarded ads served through Google AdMob. The Google Mobile Ads SDK may collect or share IP address, product interactions, diagnostic information and device or account identifiers for advertising, analytics and fraud prevention.
The application declares the Android advertising ID permission (AD_ID). Where required, Google’s User Messaging Platform asks for consent before the application requests ads and provides access to privacy options. Depending on consent, region and device settings, ads may be personalized or non-personalized. Buying Pro removes advertising. Users can also reset or delete the advertising ID in Android. See Google’s Mobile Ads SDK data disclosure.
6. Firebase Analytics and Remote Config
When Firebase is enabled in the distributed build, Google Analytics for Firebase records a limited set of application events: a challenge attempt with its content identifier, difficulty, correctness, hint count and score rounded to a ten-point bucket; an interview start or finish; a daily challenge completion; a paywall view; a purchase start or Pro unlock; and a rewarded-ad completion.
The application does not attach SQL text, result rows, table or column names, email addresses or other text entered by the user to these custom events. Firebase Remote Config downloads numeric limits used to control ad frequency; the application does not send custom user content in exchange for those settings.
7. Crash reports
Firebase Crashlytics may receive crash traces, relevant application state, device metadata, application version, crash time and installation identifiers. SQL Interview Lab also reports a non-fatal diagnostic if a bundled reference challenge fails, using the challenge’s content identifier and technical failure reason. User-written SQL and query results are not intentionally attached to these reports. See the Firebase Android data disclosure.
8. Google Play and purchases
Google Play processes information related to application downloads, updates, distribution and purchases under the Google Privacy Policy. If the user buys the lifetime Pro product, Google Play Billing handles the payment. The application receives the product, purchase token, acknowledgement state and purchase status needed to provide or revoke Pro access. Yani Technologies Inc. does not receive the user’s complete payment-card number.
9. Information we do not collect directly
SQL Interview Lab does not require a name, email address, phone number or Yani Technologies account. It does not request contacts, precise location, photos, files, microphone or camera access. We do not sell personal information. If a user contacts support by email, we receive the email address and message solely to answer the request and maintain necessary support records.
10. Retention and user controls
Local application information remains until the user clears the application data or uninstalls it, subject to Android backup and device-transfer settings. Google controls the retention of information processed by AdMob, Firebase and Google Play according to its current product settings and policies. Support messages are kept only as long as reasonably necessary to answer the request, maintain records and meet legal obligations.
Users can reopen ad privacy options from the application where that control is required, reset or delete the advertising ID in Android, buy Pro to remove ads, clear local application data, uninstall the application, or contact us about a privacy request.
11. Children
SQL Interview Lab prepares candidates for technical job interviews. It is not designed for children under 13 and contains no child-directed content. A parent or guardian who believes a child submitted personal information in a support request may contact us to request its deletion.
12. Contact
Yani Technologies Inc. is based in Canada. For privacy questions or requests concerning SQL Interview Lab, email privacy@yanitechnologies.ca. For application support, email support@yanitechnologies.ca.
We may update this notice when SQL Interview Lab’s features, permissions or SDKs change. The application’s Google Play Data safety section is maintained separately and must reflect the behaviour of the version currently distributed.