1. Overview
SoftQuill Labs ("we", "us", or "our") makes BoxFind, an Android app for keeping track of what is inside your boxes. You put a QR label on each box, list what is inside, then scan the label or search to find anything.
BoxFind works without an account or login. Your boxes, items and photos are stored only on your phone. We run no servers that receive them, and we cannot see them.
Key summary: your boxes, rooms, items, notes and photos stay on your device. A few features use outside services: ads in the free version (Google AdMob), the optional Pro purchase and rating prompt (Google Play), crash reports (Firebase Crashlytics), which you can turn off, and voice typing, which is handled by your phone's speech service. Each is explained below.
<section class="policy-section">
<h2>2. Information Stored on Your Device</h2>
<p>
Everything you enter is kept in the app's private storage on your phone (an SQLite database, app settings and a private photo folder, protected by Android's app sandbox):
</p>
<ul>
<li><strong>Boxes:</strong> number, name, room or location, place (for example "top shelf"), colour, label code, moving status (packed, loaded, unpacked) and when the box was created.</li>
<li><strong>Rooms and locations:</strong> the names you give them (for example "Attic" or "Storage unit").</li>
<li><strong>Items:</strong> name, quantity, note, an optional photo, and when the item was added.</li>
<li><strong>Photos:</strong> pictures of boxes and items that you take or choose, saved as compressed copies inside the app.</li>
<li><strong>Settings:</strong> theme, backup folder and dates of your last backups, whether Moving mode is on, whether you bought Pro, and when the app last asked for a rating.</li>
</ul>
<p><strong>None of this is sent to SoftQuill Labs.</strong></p>
</section>
<section class="policy-section">
<h2>3. QR Labels</h2>
<p>
Each box gets a random 6-character code. The QR label contains only a link in the form <code>boxfind://box/AB3CDE</code>. <strong>It contains no names, item lists or personal data.</strong> Someone who scans your label with another app sees only this code; the box contents are on your phone.
</p>
<p>
When you tap "Share PDF to print", "Print" or "Send label image", BoxFind creates the label file on your phone and hands it to the app you pick in Android's share sheet (for example a printer app, a PDF viewer or WhatsApp). What happens next is up to that app.
</p>
</section>
<section class="policy-section">
<h2>4. Camera, Photos and Scanning</h2>
<ul>
<li><strong>Scanning labels:</strong> the camera preview is read <strong>on your phone</strong> by Google ML Kit barcode scanning (the model is built into the app). Camera images are not saved or uploaded.</li>
<li><strong>Taking photos:</strong> when you add a photo, your phone's camera app takes the picture and BoxFind saves a smaller copy in its private folder.</li>
<li><strong>Choosing photos:</strong> the Android photo picker gives BoxFind only the photo you choose. BoxFind does not get access to the rest of your gallery.</li>
<li><strong>Photos are never uploaded.</strong> When you delete an item or box, its photos are removed from the phone.</li>
</ul>
<p>Camera permission is asked only the first time you scan a label or take a photo.</p>
</section>
<section class="policy-section">
<h2>5. Voice Input</h2>
<p>
When you tap the microphone, BoxFind opens your phone's built-in voice typing (for example Google speech services). BoxFind does not record audio and does not request the microphone permission; it only receives the text. Depending on your phone and settings, the speech service may process your voice on the device or on its own servers, under that provider's privacy policy (for Google, the <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Google Privacy Policy</a>).
</p>
</section>
<section class="policy-section">
<h2>6. Advertising (Google AdMob)</h2>
<p>
The free version shows one small banner ad on the Home screen, using the <strong>Google Mobile Ads SDK (AdMob)</strong>. There are no full-screen ads.
</p>
<ul>
<li><strong>What AdMob may collect:</strong> your device's Advertising ID, IP address, device model, Android version and ad interaction data, as described in <a href="https://policies.google.com/technologies/ads" target="_blank" rel="noopener noreferrer">How Google uses information from apps that use its services</a>. On newer Android versions, Google may also use Android's Privacy Sandbox (ad topics and attribution).</li>
<li><strong>Consent:</strong> in the European Economic Area, the UK and other regions where it is required, Google's consent form is shown before any ad loads. You can change your choice at any time under <em>Settings > Privacy choices for ads</em>.</li>
<li><strong>Your box lists are never shared with AdMob.</strong> Ads are not chosen based on what is in your boxes.</li>
<li><strong>Pro:</strong> after the one-time Pro purchase, BoxFind stops requesting ads and no longer shows the consent form.</li>
</ul>
</section>
<section class="policy-section">
<h2>7. Pro Purchase and Ratings (Google Play)</h2>
<ul>
<li>The optional one-time "BoxFind Pro" purchase is handled entirely by <strong>Google Play</strong>. We never receive your card number, payment method or billing address.</li>
<li>BoxFind stores a simple "Pro" flag on your phone so Pro keeps working offline, and checks it with Google Play from time to time so a refund or a new phone is handled correctly.</li>
<li>After you find a box by search or scan, BoxFind may show Google Play's rating window (at most once every 30 days). Your rating and review go to Google Play under your Google account; BoxFind does not see them.</li>
</ul>
</section>
<section class="policy-section">
<h2>8. Crash Reports (Firebase Crashlytics)</h2>
<p>
BoxFind uses <strong>Google Firebase Crashlytics</strong> to find and fix crashes.
</p>
<ul>
<li><strong>What is collected when the app crashes:</strong> crash details (which part of the code failed), device model, Android version, app version and an anonymous installation identifier.</li>
<li><strong>What is never collected:</strong> box names, item names, notes, rooms, photos, label codes or anything else you type into the app.</li>
<li><strong>Your choice:</strong> you can turn crash reports off under <em>Settings > Send crash reports</em>. When it is off, no crash reports are sent.</li>
<li><strong>Processing & retention:</strong> data is processed by Google (see <a href="https://firebase.google.com/support/privacy" target="_blank" rel="noopener noreferrer">Firebase privacy information</a>) and kept for up to 90 days. We do not sell it or use it for advertising.</li>
</ul>
</section>
<section class="policy-section">
<h2>9. Backups and Exports</h2>
<ul>
<li><strong>Backup files you create:</strong> <em>Settings > Save backup file</em> writes your boxes, rooms, items and photos into one ZIP file in a location you choose (for example your phone, Google Drive, or an email to yourself), using Android's system file picker. BoxFind does not upload it anywhere. Restoring replaces the data on the phone with the file's contents (you can undo this right after).</li>
<li><strong>Automatic backup (Pro):</strong> if you turn it on, BoxFind saves the same backup file once a day into a folder on your phone that you pick. It stays in that folder; BoxFind does not send it anywhere.</li>
<li><strong>CSV and PDF lists (Pro):</strong> the list is created on your phone and handed to the app you pick in Android's share sheet.</li>
<li><strong>Android backup:</strong> if Android backup is turned on for your Google account, Android may include BoxFind's database and settings (not photos) in your device backup, so they can be restored on a new phone. This backup is managed by Google under your account and settings; SoftQuill Labs has no access to it.</li>
</ul>
</section>
<section class="policy-section">
<h2>10. Permissions</h2>
<div class="policy-table-wrapper">
<table class="policy-table">
<thead>
<tr>
<th>Permission</th>
<th>Why it is needed</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>android.permission.CAMERA</code></td>
<td>Scanning box labels and taking photos. Asked only the first time you use one of these.</td>
</tr>
<tr>
<td><code>android.permission.INTERNET</code><br><code>android.permission.ACCESS_NETWORK_STATE</code></td>
<td>Ads in the free version, the Pro purchase and crash reports. Your box lists never need the network.</td>
</tr>
<tr>
<td><code>android.permission.WAKE_LOCK</code><br><code>android.permission.FOREGROUND_SERVICE</code></td>
<td>Used by Android's WorkManager to run the daily automatic backup reliably.</td>
</tr>
<tr>
<td><code>com.android.vending.BILLING</code></td>
<td>The optional Pro purchase through Google Play.</td>
</tr>
<tr>
<td><code>com.google.android.gms.permission.AD_ID</code><br><code>android.permission.ACCESS_ADSERVICES_AD_ID</code><br><code>android.permission.ACCESS_ADSERVICES_ATTRIBUTION</code><br><code>android.permission.ACCESS_ADSERVICES_TOPICS</code></td>
<td>Added by the Google Mobile Ads SDK for ads in the free version. You can reset or delete your Advertising ID in Android settings.</td>
</tr>
</tbody>
</table>
</div>
<p>BoxFind does <strong>not</strong> request location, contacts, microphone or storage permissions.</p>
</section>
<section class="policy-section">
<h2>11. Third-Party Services Summary</h2>
<div class="policy-table-wrapper">
<table class="policy-table">
<thead>
<tr>
<th>Service</th>
<th>Used for</th>
<th>Privacy policy</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Google ML Kit</strong> (barcode scanning)</td>
<td>Reading QR labels on your phone. Like other Google SDKs, ML Kit may send Google anonymous performance and usage metrics; it does not send camera images.</td>
<td><a href="https://developers.google.com/ml-kit/terms" target="_blank" rel="noopener noreferrer">ML Kit Terms</a></td>
</tr>
<tr>
<td><strong>Google AdMob</strong></td>
<td>The banner ad in the free version.</td>
<td><a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Google Privacy Policy</a></td>
</tr>
<tr>
<td><strong>Google Play Billing & In-App Review</strong></td>
<td>The Pro purchase and the rating window.</td>
<td><a href="https://play.google.com/about/play-terms/" target="_blank" rel="noopener noreferrer">Google Play Terms of Service</a></td>
</tr>
<tr>
<td><strong>Firebase Crashlytics</strong></td>
<td>Crash reports. Can be turned off.</td>
<td><a href="https://firebase.google.com/support/privacy" target="_blank" rel="noopener noreferrer">Firebase Privacy</a></td>
</tr>
<tr>
<td><strong>Your phone's speech service</strong></td>
<td>Voice typing when you tap the microphone.</td>
<td>Your speech provider's policy (for Google, the <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Google Privacy Policy</a>)</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="policy-section">
<h2>12. Data Retention and Deletion</h2>
<ul>
<li><strong>Single items:</strong> delete any item, photo or box in the app at any time.</li>
<li><strong>Everything:</strong> go to <em>Android Settings > Apps > BoxFind > Storage > Clear storage</em>, or uninstall the app. Both remove all data stored by BoxFind on your phone.</li>
<li><strong>Backup files and exports:</strong> files you saved or shared yourself stay where you put them until you delete them.</li>
<li><strong>Crash data:</strong> clearing storage or uninstalling resets the anonymous Crashlytics identifier. For questions about this data, email <a href="mailto:contact@softquilllabs.com">contact@softquilllabs.com</a>.</li>
</ul>
</section>
<section class="policy-section">
<h2>13. Children's Privacy</h2>
<p>
BoxFind is a household utility for adults. It is not directed at children under 13 (or under 16 where local law requires), and we do not knowingly collect information from children.
</p>
</section>
<section class="policy-section">
<h2>14. Changes to This Policy</h2>
<p>
We may update this policy when the app changes or when laws or Google Play policies require it. The new version will be posted on this page with a new "Last Updated" date.
</p>
</section>
<section class="policy-section">
<h2>15. Contact Us</h2>
<div class="policy-contact-card">
<div class="contact-card-title">SoftQuill Labs</div>
<div class="contact-card-role">Independent Software Studio</div>
<div class="contact-card-email">
<span>Email:</span>
<a href="mailto:contact@softquilllabs.com">contact@softquilllabs.com</a>
</div>
<div class="contact-card-web">
<span>Website:</span>
<a href="https://softquilllabs.com/">https://softquilllabs.com</a>
</div>
</div>
</section>