Privacy Policy
Last updated: 16 July 2026
I am an independent Android developer based in Finland. I publish KnitTools, runcheck, and dBcheck under the Finnvek brand name.
The apps covered by this policy are operated by Emma Hotakainen, a private individual based in Finland.
I publish independent app development work under the Finnvek brand name. Finnvek is not a separate legal company, business name, or trade name.
For privacy questions or data requests, email [email protected].
This policy applies to these Android apps:
If I publish another app under the Finnvek name, I will add its actual data practices to this policy before referring users to it.
The apps do not contain advertising SDKs, ad networks, remarketing tools, fingerprinting, or cross-app advertising tracking. I do not build advertising profiles from app activity.
Each app stores its normal working data in Android app-private storage. Android’s automatic cloud backup and device-to-device transfer are disabled for the apps.
Clearing an app’s storage or uninstalling it removes its app-private data. It does not necessarily remove:
Those exceptions and their deletion controls are described in the relevant app sections.
The apps use Android app-private storage for local data, disable cleartext network traffic, and restrict shared files to narrowly defined FileProvider paths with temporary read access. External connections use encrypted HTTPS or the secure protocol provided by the relevant platform service.
The paid Pro versions are one-time purchases handled by Google Play Billing. I do not receive or store your card details. Google Play tells the app whether the relevant Pro purchase is valid.
Google Play may also process technical, purchase, update, and review information under Google’s Privacy Policy.
KnitTools, runcheck, and dBcheck use Firebase Crashlytics, a crash-reporting service provided by Google Firebase. Crashlytics can automatically send a report when an app crashes or encounters a serious error.
A report may include:
I use this information only to diagnose crashes, fix bugs, and improve app stability. I do not use it for advertising, behavioral profiling, or tracking what you do across apps. The apps do not intentionally attach your projects, notes, photos, measurement history, audio recordings, hearing-test results, Health Connect data, media files, or precise location to Crashlytics reports.
Google states that Firebase Crashlytics keeps crash stack traces and associated identifiers for 90 days before starting their removal from live and backup systems. Firebase may process this data on Google’s global infrastructure. See Firebase Privacy and Security.
KnitTools is a knitting companion app for Android.
KnitTools stores the following data locally:
This local content is not uploaded to Finnvek. Images captured or selected for projects remain in the app’s local storage unless you explicitly share or export them.
Ravelry integration is optional. KnitTools uses Firebase Authentication and Cloud Functions to connect to a Finnvek-operated backend in Google Firebase. The backend keeps Ravelry credentials out of the Android app and makes the necessary Ravelry API requests on the user’s behalf.
When you first use this integration, Firebase creates a technical anonymous user identifier. It is not a Finnvek profile and is not based on your name or email address.
When you connect Ravelry:
Your knitting projects, counters, notes, photos, pattern annotations, and local session history are not uploaded to this backend.
Selecting Disconnect Ravelry in KnitTools deletes the stored Ravelry token record from the Finnvek backend and prevents unused sign-in records for that anonymous identifier from being used. It does not delete your separate Ravelry account or the locally saved patterns you chose to keep in KnitTools.
If you uninstall KnitTools before disconnecting Ravelry, email [email protected] and include your Ravelry username so I can handle a deletion request for the remaining backend connection data.
Firebase Authentication, Cloud Functions, and Cloud Firestore are provided by Google. See Firebase Privacy and Security. Ravelry’s own processing is described in the Ravelry Privacy Policy.
runcheck is an Android utility for understanding device health, battery behavior, thermal state, storage use, app usage, and network performance.
Depending on the features and permissions you use, runcheck may store:
This history is stored in the app’s private local database. It is not uploaded to Finnvek and is not used for advertising.
runcheck can show the names and icons of launchable apps and, with usage access, locally calculate app-usage information. This information stays on the device.
Media deletion occurs only after you choose items and confirm the operation. On newer Android versions, Android’s own system deletion confirmation is used where required.
runcheck uses Measurement Lab’s NDT7 service for speed tests. Starting a speed test sends network traffic to an M-Lab server and exposes your public IP address to M-Lab. M-Lab collects the IP address and measurement results and publishes NDT results as open measurement data for Internet research.
runcheck stores a local copy of the test result, including download and upload speed, ping, jitter, server information, connection type, and optional signal strength. Finnvek does not receive a separate copy.
runcheck may also make a short TCP connection to an M-Lab discovery host to estimate latency. This necessarily exposes your IP address and connection metadata to the remote server but does not upload runcheck’s locally stored device history.
Read M-Lab’s Privacy Policy and NDT7 information before using the test.
runcheck can create CSV exports when you request them. Exported files are handed to the Android share or document destination you select. Files saved outside runcheck are then controlled by you and the receiving app or storage provider.
The default history retention period is three months. Available settings are three months, six months, one year, or forever. The app periodically removes locally stored historical readings older than the selected period.
Settings also provides controls to clear speed-test results and clear all app data. Clearing app storage or uninstalling runcheck removes its private database and preferences. Google Play purchase records and CSV files saved outside the app are not removed by those actions.
dBcheck is an Android sound-awareness app for measuring everyday sound, following noise exposure over time, and comparing personal hearing checks with your own baseline. It is not a certified sound level meter or a clinical diagnostic tool.
Depending on the features you use, dBcheck may store:
Sound analysis and sound-category detection run on the device. Raw microphone audio is not sent to Finnvek. Raw audio is stored only when you explicitly enable WAV recording, which is off by default.
Health Connect is off unless you enable it and grant the relevant Android permissions.
With noise-session sync enabled, dBcheck writes a completed sound session to Health Connect as an ExerciseSessionRecord because Health Connect does not provide a dedicated noise-exposure record. The record may contain:
dBcheck does not write hearing-test results to Health Connect.
If you separately grant heart-rate read access, dBcheck can read heart-rate samples within the selected session’s time range and show them in Session Detail or include them in a PDF you create. Those samples are used for that user-facing report and are not uploaded to Finnvek.
You can stop dBcheck’s Health Connect synchronization in dBcheck settings and manage or revoke permissions in Android’s Health Connect settings. Records already written to Health Connect are controlled separately in Health Connect and are not automatically deleted when you clear dBcheck history or uninstall dBcheck.
See Android’s Health Connect permissions and data access guidance.
dBcheck creates CSV, PDF, PNG, WAV, photo, or silent-video output only when you enable or start the relevant feature. Sharing grants the receiving app temporary access to the selected file. Once you save or share a file outside dBcheck, the receiving app or storage provider controls its copy.
Local backups are stored in dBcheck’s app-private storage. Clearing measurement history does not delete those backup files. Clearing app storage or uninstalling dBcheck removes app-private backups and WAV recordings, but not files already exported elsewhere or records already written to Health Connect.
For users in the European Economic Area, the UK, or Switzerland, the relevant legal bases depend on the feature:
For data kept only on your device, I do not have a server copy that I can access, correct, export, or delete for you. Use the app’s deletion controls, Android’s app storage controls, or uninstall the app.
You can also:
Depending on where you live, you may have rights to access, correct, delete, restrict, object to, or receive a portable copy of personal data that I process. Email [email protected] to make a privacy request.
You also have the right to complain to a data protection authority. In Finland, the authority is the Office of the Data Protection Ombudsman at tietosuoja.fi.
The apps are not designed for or directed at children under 13, or under the higher minimum age that may apply in a user’s country. I do not knowingly use the apps to collect personal data from children. dBcheck’s Health Connect features are not intended for children.
If you believe a child has provided personal data through an external feature described in this policy, email [email protected].
I update this policy when an app’s data practices change. The date at the top shows the latest revision. A significant new data flow, permission, external service, or app will be documented here before this policy is used for that release.
Questions or privacy requests? Email [email protected].