woowtech platform Privacy Policy
Last updated: 2026-09-23
This policy explains how the woowtech platform mobile app (the "App"), provided by WOOW TECH CO., LTD. (渥屋科技股份有限公司, Taiwan unified business number 84006751, "WOOW TECH", "we" or "us"), handles your data.
The single most important fact: this App has no backend of its own. It is a mobile client that connects to the Odoo server your own organisation hosts and controls. Everything you see, type or upload in the App lives on that server. For that business data, the party that decides how it is collected, processed and used is your organisation, not WOOW TECH. That is what determines who actually carries out an access or deletion request — see Account & data deletion.
1. How the App works, and who is responsible for what
The App is an interface onto your own organisation's Odoo server. You enter the server address yourself, and the App only connects to the address you entered.
- Your organisation owns and operates that Odoo server and decides what is stored in it, for how long, who may view it and when it is deleted. For the personal data inside its Odoo, your organisation is the party that collects, processes and uses that data under Taiwan's Personal Data Protection Act.
- WOOW TECH (us) provides the App software itself and the technical infrastructure needed to deliver push notifications. For those processing activities we act on your organisation's instructions, within the scope described in this policy.
Apart from the push notifications described in section 4, data moving between your phone and your organisation's server does not pass through WOOW TECH's servers.
2. Where accounts come from
The App has no sign-up function, and accounts cannot be created inside the App. Your account is issued by your organisation's administrator and is one of two kinds:
- Employee account (an Odoo "internal user"). This is the App's main audience, usually linked to an employee record and the attendance features.
- Portal account (an Odoo "portal user"). Some organisations set up this kind of account for customers or partners.
If you do not have an account yet, please contact your organisation's administrator. The deletion path differs between the two — see Account & data deletion.
3. The paths your data travels
- App ⇄ your organisation's Odoo — login, browsing, uploads and clock-in location all go only to the server address you entered.
- App ⇄ Google Firebase — to obtain a push registration token. The App embeds Firebase Cloud Messaging only; there is no analytics, advertising or crash-reporting component. As stated in Google's SDK privacy disclosure, the Firebase component itself may send Google limited technical diagnostic data (such as SDK version and operational status); this data is not linked to your identity and not used for tracking. See row 23 in section 5.
- Your organisation's Odoo → Google Cloud Messaging → (on iOS, also Apple Push Notification service) → your device — this path carries the actual content of the notification, not just an identifier. See section 4.
4. Push notifications (the part that involves third parties)
The content of a push notification — the sender's name, and the first 200 characters of the message as plain text — is sent by your organisation's Odoo server and passes in the clear (protected only by TLS in transit, not end-to-end encrypted) through Google's Cloud Messaging service, and on iOS additionally through Apple's Push Notification service. In other words, notification content does leave your organisation's server and does pass through third parties; it is not just a token. If a notification concerns sensitive business information, that text is handled by those services during delivery.
If your organisation handles sensitive message content, its administrator should assess whether to enable this feature. On the device, the Android App marks notifications as private: if your system settings hide sensitive content on the lock screen, the notification text is not shown there. Whether it is hidden depends on your system settings.
The device record held by your organisation's Odoo contains only: the user reference, the push token, the device name, the platform, an active flag, the last-seen time and a consecutive-failure count. It holds no location, no IP address and no notification content. Each user keeps at most 10 devices; beyond that, the oldest is deactivated automatically.
The push registration token is sent by the App directly to your organisation's Odoo and does not pass through WOOW TECH's servers. WOOW TECH does operate a credential-issuing service that supplies your organisation's Odoo with short-lived sending authorisation; that service never handles notification content. Its audit log records deployment-level events only (deployment identifier, event type, source IP), contains no end-user personal data, and is retained for 90 days by default.
5. Data inventory
This table maps onto both stores' privacy questionnaires: "Linked to you" corresponds to Apple's Linked to You / Google's "linked to the user's identity"; "Used for tracking" corresponds to Apple's Used for Tracking. The table scrolls horizontally.
| # | Data | When | Purpose | Where it goes | Linked to you | Used for tracking | Where it is kept |
|---|---|---|---|---|---|---|---|
| 1 | Server URL, database name | You type it when adding a connection | Decides the connection target | Your own Odoo only | Yes | No | Local device database (not separately encrypted) |
| 2 | Odoo login name | At login | Authentication | Your own Odoo only | Yes | No | Local device database (not separately encrypted) |
| 3 | Odoo password | At login | Authentication, and re-authentication when a session expires | Your own Odoo only | Yes | No | Android: keystore-backed encrypted storage, excluded from cloud backup. iOS: Keychain, this-device-only, not synced to iCloud |
| 4 | Session cookie | Issued by the server after a successful login | Keeps you signed in | Returned only to the same Odoo | Yes | No | Same encrypted storage as row 3, plus the embedded browser's cookie store |
| 5 | Display name, Odoo user id | Returned in the login response | Account list and switching | Not transmitted anywhere | Yes | No | Local device database |
| 6 | Tenant routing id (odoo_tenant_id) | Issued by your organisation's Odoo at push registration | When several servers are connected, routes a tapped notification back to the right one | Not transmitted; generated by that Odoo | Indirectly (bound to the connection) | No | Local device database |
| 7 | Push registration token (FCM) | At app start and on token rotation | Push addressing | (1) Google Firebase, which issues it (2) every Odoo you are signed in to, which registers it | Yes | No | Encrypted device storage, and your organisation's Odoo device registry |
| 8 | Device name / model | At every push registration | Server-side device list and de-duplication | Every Odoo you are signed in to | Yes | No | Your organisation's Odoo device registry. Android sends the model code; iOS sends the device name provided by the system: on iOS 16 and later this is usually a generic name (e.g. “iPhone”), while earlier versions may send the name you set in system settings, which may contain your name |
| 9 | Platform (Android / iOS) | At every push registration | Determines the notification payload shape | Every Odoo you are signed in to | Yes | No | As above |
| 10 | Apple push device token (iOS only) | Provided by iOS after you allow notifications | Exchanged with Firebase for a push token | Apple ⇄ Google; not sent to your organisation's Odoo | Indirectly | No | Not separately stored by the App |
| 11 | Precise location (GPS coordinates and horizontal accuracy) | Only when an Odoo web page actively requests it (in practice: attendance clock-in) | Adds the clock-in location to your attendance record in your organisation's Odoo | Handed only to your organisation's Odoo page inside the embedded browser, which sends it to its own server | Yes | No | The App stores no coordinates at all. Server-side storage is in your organisation's Odoo |
| 12 | Location toggle preference | When you change it in Settings | A second gate in the App; when off, every web location request is refused | Not transmitted | No | No | Encrypted device storage |
| 13 | App Lock: PIN hash, biometric toggle, failure count | When you enable App Lock | Unlocking the App | Never transmitted anywhere | No | No | Encrypted device storage, excluded from cloud backup. Biometrics are handled by the operating system; the App never receives your fingerprint or face data |
| 14 | Appearance preferences (theme, light/dark, language, reduced motion) | When you change them | User interface | Not transmitted | No | No | On the device |
| 15 | Notification title and body (sender's name + first 200 plain-text characters of the message) | When there is a message, @mention or activity event in your organisation's Odoo | Displaying the notification | Your organisation's Odoo → Google Cloud Messaging → (iOS: Apple Push Notification service) → your device | Yes | No | On the device, only the system notification tray (Android: the text is not shown on the lock screen if your system settings hide sensitive content). Retention at Google / Apple: see section 8 |
| 16 | Notification routing data (record model, record id, target URL, event type, tenant id) | As above | Opens the correct record when you tap the notification | As above, travelling with the notification through Google / Apple | Indirectly | No | As above |
| 17 | Camera photo, gallery item or file (Android) | When a web page shows a file upload field and you choose a file | Upload to your organisation's Odoo | Handed by the embedded browser to that page → your organisation's Odoo | Yes | No | A photo taken with the camera inside the App leaves a copy in the App's private storage, removed when you uninstall the App. The uploaded original lives in your organisation's Odoo |
| 18 | Camera, photo library (iOS) | As above, handled by the system's built-in web file picker | As above | As above | Yes | No | The App contains no camera or photo-library code of its own; it only declares the permission purpose strings |
| 19 | Embedded browser cookies, local storage and cache | Created by your organisation's web pages as you browse | Determined by your organisation's Odoo website | Stays on the device, returned to the same Odoo with each request | Depends on the page | No (third-party cookies are disabled) | On the device. Android clears all web data before switching accounts; iOS gives each account its own isolated web data store |
| 20 | The content of your organisation's Odoo pages (ERP / CRM / messages / attendance …) | As you browse or work in the App | Determined by your organisation's Odoo | Stays entirely in your organisation's Odoo. The App only displays this content in its embedded browser; it does not parse, store or forward page content | Determined by your organisation | No | Your organisation's Odoo |
| 21 | The App's own diagnostic logs | At runtime | Debugging | Not sent anywhere. No crash reporter, no remote log collection (for technical diagnostic data sent by the Firebase component itself, see row 23) | — | No | Android release builds produce none at all; iOS writes to the device's system log with content redacted by default |
| 22 | IP address, user-agent string | On every network request (technically unavoidable) | Network transport itself | Your organisation's Odoo (and any proxy in front of it), Google Cloud Messaging, Apple Push Notification service | Determined by the recipient | No | Each recipient's own server logs; the App has no visibility into them |
| 23 | Firebase installation id and similar SDK-internal identifiers, plus technical diagnostic data from the Firebase component (such as SDK version and operational status) | Obtained or sent by the Firebase messaging component itself | Token issuance; operation and reliability of the Firebase component itself | Identifiers: per Google's SDK privacy disclosure; diagnostic data: No | No | At Google | |
| 24 | Analytics data, advertising identifiers (IDFA / GAID) | Never collected. The App contains no advertising and no analytics or crash-reporting component; on iOS the Firebase configuration has analytics and ads disabled. We do not track you for advertising purposes and perform no cross-app or cross-site tracking. | |||||
6. Third-party services
| Service | Data | Notes |
|---|---|---|
| Your organisation's Odoo deployment | Login data, push token and device information, everything you type or upload in a page, clock-in coordinates | This is the destination the App connects to; operated by your organisation |
| Google Firebase Cloud Messaging (Android, iOS) | Push token, Firebase installation id, notification title and body | Required for push delivery. Google acts as a service provider under its data processing terms, with WOOW TECH as the controller of that instruction. The applicable terms are Google's data processing terms for Firebase, published at firebase.google.com/terms/data-processing-terms; the version accepted by this project governs. |
| Apple Push Notification service (iOS only) | Device push token, notification title and body | Required for iOS push, handled under the Apple Developer Program terms |
| WOOW TECH push credential service | Short-lived sending credentials and deployment-level audit events only; never notification content | Supplies your organisation's Odoo with the authorisation it needs to send push — see section 4 |
We do not sell personal data and do not share any data for advertising or cross-app tracking. There are no data brokers, ad networks or analytics services in the App.
7. Permissions
7.1 Location (precise, while using the App only)
Location has exactly one purpose: when you clock in or out on an Odoo web page and that page requests your position, so the attendance record carries the coordinates.
- The App has no background location permission and no background location service. Android declares only foreground fine and coarse location; iOS declares only "when in use".
- Every web location request must first pass four checks inside the App: (1) the page origin must be HTTPS; (2) the origin host must match the Odoo server you are currently signed in to; (3) the location toggle in App settings must be on; (4) the operating-system permission must allow it. Failing any one of them refuses the request.
- The App itself stores no coordinates and never sends them to WOOW TECH or any third party. The page returns them to your organisation's own Odoo, where they become part of the attendance record.
- You can turn location off at any time, in App settings or in system settings. When it is off, the App refuses every web location request and the related feature stops working.
- The two platforms genuinely behave differently: on iOS, every web location request re-runs all four checks above; on Android, the system remembers your grant for a given origin, so later requests may not prompt again (you can still revoke it at any time in system settings). "Re-checked on every clock-in" is true of iOS only.
- Whether you can still clock in after refusing location depends on your organisation's Odoo configuration — ask your administrator.
7.2 Camera and photo library
Used only when a page in your organisation's Odoo presents a file upload field and you actively choose to take a photo or pick a file. Please note: on Android, a photo taken with the camera inside the App leaves a copy in the App's private storage. That copy is not deleted automatically; it is removed when you uninstall the App.
7.3 Notifications
Used to display messages and activity notifications from your organisation's Odoo. You can turn them off in your phone's system settings.
7.4 Biometrics
Used only to unlock the App itself. Verification is performed entirely by the operating system; the App never receives or stores your fingerprint or face data, and these settings never leave your device.
8. Retention
8.1 On your phone
Local connection settings, passwords, sessions, preferences and web cache remain until you remove that connection, sign out, or uninstall the App. Uninstalling removes all of the App's local data, including the camera photo copies described above.
8.2 On your organisation's Odoo server
This is the most important boundary in this policy: retention of that data is decided by your organisation under its own policies and applicable law; the App neither configures nor can read those settings. This covers attendance records, messages, uploaded attachments and push device registrations. Ask your organisation's administrator which retention policy applies to you.
One further fact you should know: the App attempts to unregister the push device when you sign out or remove a connection, but if there is no network connection at that moment the attempt fails and is not retried automatically. There is currently no automatic clean-up job on the server side, so a stale device registration persists unless the user unregisters it or an administrator deletes it. You can complete the unregistration by signing in and out again once you are back online, or ask your administrator to delete the registration in Odoo.
8.3 At Google and Apple
Notification content is handled by Google and Apple during delivery. Their retention periods and actual processing locations are determined by their own terms and cannot be specified by this App.
8.4 Data we are required by law to keep
Where the law requires data to be retained, it is not deleted before the statutory period expires; beyond meeting that legal obligation, we stop using it for any other purpose. This mainly covers:
- Accounting vouchers and transaction records: under Taiwan's Business Entity Accounting Act, accounting vouchers are kept for 5 years; accounting books and financial statements for 10 years.
- Tax-related records: for the period required by Taiwan's tax collection legislation.
Most such data lives in your organisation's own Odoo, and that organisation meets the obligation.
9. International transfers
The location of your organisation's Odoo server is chosen by that organisation. Once push notifications are enabled, Google and Apple may process push-related data — including notification titles and bodies — on servers outside Taiwan, including in the United States. Using push notifications means that data is transferred to the countries or regions where those providers operate.
10. Children
The App is business software for workplace use. It is not designed for children under 13, and we do not knowingly collect children's data.
11. Security
- Passwords, sessions and push tokens are stored on Android in keystore-backed AES-256-GCM encrypted storage that is excluded from cloud backup, and on iOS in a this-device-only Keychain that is not synced to iCloud.
- The App disables unencrypted HTTP and mixed content entirely.
- Web location requests must pass origin matching and two independent switches (see 7.1).
- Third-party cookies are disabled in the embedded browser, and web data is cleared when switching accounts.
- The App contains no analytics, advertising or crash-reporting components.
These are statements of technical measures. They are not a guarantee of absolute security and not a claim of end-to-end encryption. To report a security vulnerability, email us with "Security" in the subject line.
12. Your rights and how to contact us
Under Article 3 of Taiwan's Personal Data Protection Act you may, in respect of your personal data: enquire about and request to review it, request a copy, request supplementation or correction, request that collection/processing/use cease, and request deletion.
Because the business data lives in your organisation's own Odoo, such requests should normally be made to your organisation's system administrator. You may also write to us and we will help within the limits of our role, and pass the request on.
Identity verification: please send your request from the email address registered on your account. Where necessary we will ask your organisation's administrator to help confirm your identity. We will never ask you for your password.
The full deletion process, timelines and exceptions are on the Account & data deletion page. If you believe we have not handled your request properly, you may complain to us directly and you may also complain to the competent central authority or to your municipal or county government.
WOOW TECH CO., LTD. (渥屋科技股份有限公司, unified business number 84006751)Email: [email protected]
Phone: +886 2-2651-9677
Address: 1F., No. 6-1, Ln. 92, Sec. 2, Minquan E. Rd., Zhongshan Dist., Taipei City 104022, Taiwan (R.O.C.)
13. Availability and languages
This release is distributed in Taiwan only, in Traditional Chinese and English. If distribution is expanded, this policy will be reviewed and updated.
14. Governing law and jurisdiction
This policy is governed by and construed in accordance with the laws of the Republic of China (Taiwan). For any dispute arising from this policy, the parties agree that the Taiwan Taipei District Court shall be the court of first instance.
15. Changes to this policy
If this policy changes, we will update the "Last updated" date on this page; material changes will also be announced in the App or on the website.