Last updated: 2026-09-15 · Developer: NKKTech Global (NKKTECH GLOBAL PTE. LTD., 18 Sin Ming Lane, #07-13 Midview City, Singapore 573960)
This policy applies to the following app, published under the developer name NKKTech Global by NKKTECH GLOBAL PTE. LTD. ("NKKTech", "we"):
Apple App Store: Factory Manager: MES Barcode (bundle com.nkktech.factoryManager)
Google Play: Factory Manager: MES Barcode (package com.nkktech.factory_manager)
Name shown inside the app: Factory Manager (Quản Lý Nhà Máy)
The app is an offline production and inventory management tool for factories. NKKTech runs no server for this app; there is no account and no advertising. We never receive your business records and cannot see them. Data leaves your device only when you use LAN sync, export backups or files, or print — and through the Google ML Kit library described in section 5.
1. Data the app stores on your device
Everything you enter is kept in the app's private storage on the device: items and prices, bills of materials, warehouses and bin locations, handling-unit labels, stock movements, work orders and production logs, quality inspections and defect photos, equipment and maintenance records with photos, suppliers and customers (name, phone number, address, tax code, notes), employees (code, name, role, pay rate), purchase and sales orders, period closes, internal messages between staff, an audit log (who did what and when), and your company details (name, address, phone, tax code).
Defect and maintenance photos are stored in the app's Documents folder.
Employee PINs are never stored as-is: the app stores a PBKDF2-HMAC-SHA256 hash with 10,000 iterations and a per-employee salt, because backup files and sync packets can pass through other people's hands.
2. Personal data you enter about other people
You may record employee and business-contact details to run your factory. You remain the controller of that personal data and are responsible for handling it in line with the laws that apply to your business.
3. Device features the app uses
Camera — scanning QR codes and barcodes on stock labels, work orders and staff badges; photographing defects on inspection records and maintenance work. Photos are taken with the camera only; the app does not read your photo library and has no logo feature. Decoding runs on the device; camera images and code contents are not transmitted. Photos you take stay on the device, except when you enable LAN sync or export a backup with photos.
Notifications — on-device reminders (work orders and sales orders due, labels near expiry, equipment inspections due, items below minimum stock, overdue payments, an unclosed period, trial ending, new messages received through sync). Reminders are rescheduled after the device restarts (RECEIVE_BOOT_COMPLETED on Android). No server is involved; you can turn them off in the app or in system settings.
Local network — see section 4.
Printers — labels and documents are sent to: a network printer at the IP address you enter (raw TCP connection, port 9100); a Bluetooth thermal printer (Android only, chosen from the printers already paired in system settings — the app requests no location permission and does not use Bluetooth to infer your location); or the operating system's print dialog.
Files — writing and reading backup files, PDFs and CSV files (see section 6).
4. LAN sync between your own devices
This optional feature copies data directly between devices on the same Wi-Fi/LAN, without passing through any NKKTech or third-party server. How it works:
The host device runs a small HTTP server on port 48090 (listening on all of its IPv4 addresses) and answers UDP discovery packets on port 48091 with the app name and the host's name. Other devices find hosts with a UDP broadcast and by probing the addresses in the local /24 network.
Connections use plain HTTP without TLS encryption. A new device must enter the 4-digit pairing code shown on the host; after that the devices use a random 256-bit token with HMAC authentication, and the token itself is not sent over the network again. The host can be set to accept paired devices only.
A sync packet contains all data: company settings, every table in section 1 (including employee PIN hashes and messages), deletion records, the purchased plan, and defect/maintenance photos.
If you turn on auto-sync, a device syncs with its host every 5 minutes.
Because data is not encrypted in transit, other people on the same network could capture it. Use LAN sync only on your factory's trusted Wi-Fi, not on public Wi-Fi or a network shared with visitors.
5. Google ML Kit (code scanning)
Scanning uses the mobile_scanner library, which is built on Google ML Kit Barcode Scanning (Android: model bundled in the app; iOS: GoogleMLKit with GoogleDataTransport). Recognition runs on the device; images and code contents are not sent. However, according to Google's data disclosure, ML Kit sends device and other identifiers, diagnostics, crash logs, app interactions and performance data to Google to maintain and improve the SDK. That data is handled by Google under Google's policies; NKKTech does not receive it.
Apart from ML Kit, the app contains no advertising SDK, no analytics SDK and no social login, and it makes no network request to NKKTech.
6. Backups, imports and exports
Backups are unencrypted JSON files containing the same data as a sync packet, and, if you choose, your photos. The file is handed to the operating system's share sheet — where you send it (email, cloud drive, messaging app…) is your choice and subject to that service's policy. Keep backup files somewhere safe.
Restore reads a JSON file you pick and merges it into your existing data. CSV import reads a CSV file you pick.
Exports — PDFs (labels, slips, documents) and CSV reports are generated on the device and shared through the share sheet or the print dialog.
7. In-app purchases
There are four subscriptions — Pro and Business, each monthly or yearly — bought through Apple's App Store or Google Play. The store handles payment; the app receives only the product ID and transaction date from the store to work out when your plan expires, and never sees your name, card or address. The 14-day Business trial is calculated and stored on the device. The plan you bought is written into the app's settings so that your paired devices can use it after a sync.
8. External links and ratings
The Terms of Use (Apple's standard EULA) and Privacy Policy links on the pricing screen open in your device's browser. The rating prompt uses the App Store / Google Play review dialog; the app does not learn what you rate.
9. Children
The app is a business tool and is not directed at children.
10. Deleting your data
Uninstalling the app deletes its storage and with it all data and photos on that device. Data already synced to another device stays there and must be deleted on that device. Backup and export files you saved or sent live wherever you put them and are yours to delete. Since we run no server, we hold no copy to delete.
11. Changes to this policy
Any update will be posted on this page with a new revision date.