Privacy Policy (Shiftmate)
This Privacy Policy ("Policy") describes how user information is handled in the iOS app "Shiftmate" ("the App"), provided by Toshihiro.nakao ("the Developer").
1. Our Approach
The App is designed to work entirely on your device. The Developer cannot view any data you enter into the App. There is no analytics backend.
Only if you use the optional subscription "Shiftmate Link" to share schedules or collect requests by link, content encrypted in the App and in your staff's browsers is kept temporarily on a server the Developer operates. The Developer does not hold the key to that content and cannot read it (Section 5).
2. Information Handled
You may optionally enter or create the following information in the App. All of it is data that you control.
- Business information (name, settings, etc.)
- Staff information (name, display color, hourly wage, role, phone number, notes)
- Shifts and schedules, shift requests, day-off requests, and shift-swap requests
- PINs for staff self-service mode and for the administrator
- Requests staff submit from a Shiftmate Link page (a choice for each day)
The Developer cannot read any of the above. It is stored only in the locations described below (your device, your iCloud and, if you use Shiftmate Link, the Developer's server in encrypted form).
3. Where Data Is Stored
- On your device (local): App data is, by default, stored in the App's private storage area on your device. A summary shown in the Home Screen widget is also stored on your device, in an area only the App and its widget can read.
- On-device search index: So you can find shifts from your device's search (Spotlight) and Siri, the information shown on the schedule (staff name, location name, date, start and end times, and status) is added to an on-device index managed by iOS. Hourly wages, labor costs, phone numbers and notes are never added.
- iCloud (only if you purchase the premium feature and are signed in to iCloud): For sync and backup across multiple devices, data is stored in iCloud (the CloudKit private database) associated with your own Apple Account. This is an Apple service accessible only to you. The Developer cannot access this iCloud data.
- The Developer's server (only if you use Shiftmate Link): Content you share or collect by link is kept there temporarily, encrypted. The Developer cannot read it (Section 5).
Handling of data in iCloud is governed by Apple's Privacy Policy.
4. Sharing and External Transmission
The Developer does not share or sell your data to third parties. The App does not send data to any third-party analytics or advertising service. The only data sent to the Developer's server is the encrypted content of Shiftmate Link, if you use it (Section 5). Other than that, the App uses the following Apple platform services:
- iCloud / CloudKit (sync and backup when premium is purchased; notices that requests arrived through Shiftmate Link)
- App Store / StoreKit (processing in-app purchases; to check whether a newer version is available, the App asks Apple for the App Store's public listing at most once a day, sending only the App's ID and the country)
- Spotlight / Siri / Shortcuts (finding shifts and reading them aloud)
- The on-device language model (Apple Intelligence; used for the chat that turns plain-language requests into proposed changes, with iOS 27 on supported devices. What you type is processed on your device and is never sent to the Developer)
These are provided in accordance with Apple's privacy policy and terms.
5. Information Handled by Shiftmate Link
Only if you use Shiftmate Link (an optional subscription), information is handled as follows. If you don't use it, none of the information in this section is sent.
- What is sent: For a schedule link: the location name, staff names and display colors, and the dates, times and breaks of confirmed shifts and days off. For a request link: the location name, the staff member's name, the period, shift template names and times, and whether each day is already scheduled and what is currently requested. For a staff member's personal page: the location name, the staff member's name and display color, and the keys that open the two links above. Requests staff submit (a choice for each day). Hourly wages, labor costs, phone numbers, notes and PINs are never sent.
- Encryption: This content is encrypted with AES-256-GCM inside the App or the staff member's browser before it is sent. The key exists only in the part of the link after "#", which browsers never send to servers. Neither the Developer nor the server provider can read the content. Anyone who has the link can read it, so share links only with the people they are for.
- Where it is kept: A server the Developer operates on services of Cloudflare, Inc. (United States) — Cloudflare Workers and D1. Servers may be located outside your country. To let the manager's device know that requests arrived, a "notice" containing only random values and a time is placed in Apple's CloudKit (public database).
- Also kept: Link identifiers, creation and update times, expiry, deadlines, a value that authorizes writes (stored only as a hash), random values that address notices, and a value used to check that a notice is genuine.
- How long: A schedule link or personal page is deleted 35 days after its last update; a request link 7 days after its deadline (31 days after its last update if there is no deadline). Submitted requests are deleted from the server as soon as the App receives them. Notices are deleted after 7 days. Turning off a link, deleting a location, or deleting all data also deletes the content on the server.
- Connection records: IP addresses are used momentarily to limit repeated requests and are not stored. Server logs do not keep the content, IP addresses or headers.
- Purchase verification: The server also checks your subscription using the purchase record signed by Apple. The record is checked and not stored.
- Staff browsers: The staff page keeps the chosen name and submitted requests only in that browser (they can be cleared in the browser's settings).
6. Device Permissions
The App may request the following permissions when you use the related features. Granting them is optional, and you can change them at any time in the Settings app.
- Calendar (write): Used to export confirmed shifts to the iOS Calendar. The App does not read your calendar.
- Notifications: Used for day-before shift reminders (local notifications on your device) and, with Shiftmate Link, to tell you that requests arrived and that a deadline has come. Arrival notices come as Apple push notifications; staff names are filled in on your device.
- Face ID (biometrics): Used only if you turn it on, to unlock the manager screens. iOS performs the authentication; the App never receives your face or other biometric data.
7. In-App Purchases (Premium and Shiftmate Link)
Premium is a one-time (non-consumable) in-app purchase; Shiftmate Link is an auto-renewable subscription. All purchase processing, billing, receipts and cancellations are handled by Apple (the App Store). The Developer does not receive payment information such as credit card numbers. The Developer only receives entitlement information indicating whether a purchase is active; for Shiftmate Link, the server receives the purchase record signed by Apple to check that the subscription is active, and does not store it.
8. Personal Information of Staff and Others
If you enter staff names, contact details, or similar information into the App, you (the operator entering the data) are responsible for obtaining, using, and managing that information lawfully. Such information is stored only in the locations described in Section 3. If you use Shiftmate Link, staff names and shifts are kept on the Developer's server in encrypted form as described in Section 5 (the Developer cannot read them). Please let your staff know before sharing or collecting by link.
9. Security
- Data is stored on your device or in your own iCloud. Shiftmate Link content is kept on the server only after being encrypted on the device or in the staff member's browser.
- PINs are not stored in plain text; only their SHA-256 hash is kept.
- Data in iCloud is encrypted and protected by Apple.
10. Data Retention and Deletion
- You can delete data from within the App (Settings in the Team tab → Data → Delete All Data, deleting staff, etc.). The on-device search index is updated accordingly.
- Deleting the App from your device removes the on-device data.
- Shiftmate Link content on the server is deleted after the periods in Section 5, and also when you turn off a link, delete a location, or delete all data.
- Data in iCloud can be managed or deleted via your device's iCloud settings or your iCloud account.
- To keep shifts out of search and Siri, go to the iOS Settings app → Apps → Shiftmate → Siri (Siri & Search).
11. Information Received When You Contact Us
The contact form on the support page is provided through Google Forms, a service of Google LLC. When you contact us, the Developer receives the information you enter (such as your name, the email address to reply to, and your message).
- We use it only to answer your inquiry and to investigate and fix problems.
- We do not share it with third parties, except as required by law.
- We delete it once your inquiry is resolved and it is no longer needed.
- Google's Privacy Policy also applies to how the form handles information.
This applies only when you choose to contact us. Using the App never sends information to the Developer.
12. Children's Privacy
The App does not knowingly collect personal information from children. The Developer does not collect any personal information through the App in a readable form.
13. Analytics, Tracking, and Advertising
The App performs no usage analytics, behavioral tracking, or advertising. It includes no third-party tracking SDKs.
14. Changes to This Policy
We may revise this Policy as laws change or features are added. For material changes, we will provide notice within the App or on its distribution page. The revised Policy takes effect when posted.
15. Contact
For questions about this Policy or the App's privacy, please contact:
- Developer: Toshihiro.nakao
- Contact: Contact form