PresenceDesk privacy policy
Effective 5 November 2026.
This policy explains how Innova Apps ("we") collects, uses, stores, shares and deletes information when you use PresenceDesk, a Google Chat app with a browser workspace.
Who we are
PresenceDesk is published by Innova Apps (innovaapps.ai). Contact support@innovaapps.ai.
Information we receive from Google
PresenceDesk does not use Google sign-in and does not use OAuth permissions to read your Google account data. When you message PresenceDesk, use one of its commands, open its Home tab, use its cards or add it to a space, Google Chat sends us details of that interaction. From those details we store:
- your Google Chat user ID and display name;
- your organization's Google Workspace ID, so each organization's team stays separate;
- the ID of your personal Chat with PresenceDesk, so we can send you the private messages you have turned on;
- the ID and name of any team Chat space a manager adds PresenceDesk to.
We read the text of messages sent to PresenceDesk only to recognise commands such as /in or help, and we do not store that text. Other details in these interactions, such as your email address, are discarded and not stored.
Information you give us
- Check-ins (Office, Remote or Out) and the dates they apply to.
- Leave requests made in the browser workspace: dates, category, an optional note, and the manager's decision.
- Team membership and roles, requests to join, team settings and schedules, and your notification preference.
Billing information
If a team manager chooses a paid plan, Stripe collects the billing contact and payment details entered on its hosted checkout and billing pages. We send Stripe your workspace identifier, the selected plan and a reference for the checkout. We do not send check-ins, leave requests or private leave notes to Stripe. PresenceDesk does not receive or store full card numbers or card security codes.
Our database stores the workspace's Stripe customer and subscription identifiers, price and plan, subscription and payment status, billing-period and cancellation dates, trial dates, and refund, dispute or fraud-review indicators. It also stores checkout identifiers, a temporary checkout link, and processed billing-event identifiers, types and timestamps so repeated notifications do not create duplicate changes. We do not store complete Stripe event payloads, billing email addresses or billing addresses in the app database.
Information created when you use the service
- Sign-in sessions, single-use sign-in links and calendar subscription links. We store these only as one-way hashes.
- Records of scheduled Chat messages (type, date, destination and delivery status). We use these to avoid duplicate messages.
- A strictly necessary session cookie. It keeps you signed in to the browser workspace and protects its forms; visitors who are not signed in get one that lasts one hour. It is not used for tracking.
- To prevent abuse, we briefly count requests. Counts for a network address use only a keyed hash of the address and expire within one hour.
How we use information
We use this information only to provide PresenceDesk: to identify you, show team availability, handle leave requests and approvals, send the reminders and summaries your team turns on, produce calendar feeds and CSV exports, manage trials and workspace subscriptions, reconcile payments and cancellations, prevent duplicate charges and trial abuse, keep the service secure and give support. We do not sell it, use it for advertising, or use it for unrelated purposes.
Who can see your information
Enabled members of your team can see your name and your generic availability (Office, Remote or Out). Only you and your team's current managers can see your leave categories and notes. Summaries posted to team Chat spaces, calendar feeds and CSV exports show names and generic availability only, never leave categories or notes. Anyone in a team Chat space a manager selects can see the summaries posted there, so managers should choose trusted internal spaces.
Team managers can open the workspace's Stripe billing portal to manage its subscription, billing details and invoices. Managers should be authorized by their organization to handle that information.
Service providers and where data is stored
- Google Cloud hosts PresenceDesk. The database runs on a Compute Engine server and persistent disk in the europe-west1 region (Belgium), and daily disk snapshots are stored in a Google Cloud multi-region in the European Union. Requests reach the server through Firebase Hosting, which runs on Google's global edge network, and a Cloud Run gateway in europe-west1.
- Google Chat carries interactions and messages between you and PresenceDesk, under your organization's agreement with Google.
- Stripe processes subscriptions and payments. Its hosted pages collect the payment and billing details you enter and may process device and network information for payment security. Stripe's processing, international transfers and retention are described in the Stripe Privacy Policy. Stripe payment records are not confined to PresenceDesk's Google Cloud database region.
We use no third-party analytics, advertising or error-tracking services. Support emails are handled in our business email system. Stripe may use its own cookies on its hosted payment and billing pages; PresenceDesk does not embed a payment form or Stripe tracking script in the workspace.
How we protect information
- Connections to PresenceDesk's public web address, including requests from Google Chat, use HTTPS, and so do PresenceDesk's messages to Google Chat. Inside Google Cloud, the gateway reaches the database server over a private network.
- Google Cloud encrypts the database disk and its snapshots at rest.
- The database server cannot be reached from the public internet. It has no public port for the app or for remote login, and remote login is possible only through Google Cloud's Identity-Aware Proxy.
- Sessions, sign-in links and calendar links are stored only as one-way hashes. Sign-in links work once and expire after 5 minutes.
- Application logs contain only technical event and error codes, the app version, a random request ID and, when PresenceDesk rejects a request from Google Chat, the reason, the names of the fields it contained, the character pattern (never the value) of any malformed identifier, and the Google service domain that signed it. They never contain names, leave details, web addresses, cookies or credentials. They stay on our server in a size-limited system log, which deletes entries automatically after 30 days. Our gateway's request logs are excluded from Google Cloud Logging in our hosting project.
How long we keep information
- Check-ins and leave requests: deleted 365 days after the check-in date or the leave's end date.
- Scheduled message records: deleted once they are more than 90 days old and their date has passed.
- Unanswered requests to join a team: deleted after 30 days.
- Sessions expire after 7 days, sign-in links after 5 minutes and calendar links after 90 days.
- Your name, role and notification preference: kept until you delete your data, including while a manager has disabled your membership.
- Your personal Chat ID: kept until you delete your data, or cleared sooner if you remove PresenceDesk from that Chat. Removing PresenceDesk stops its messages there but does not delete your other stored data.
- Approved spaces: each is removed when PresenceDesk is removed from that space. Team settings and any remaining approved spaces are reset when the last member deletes their data. The workspace record, which holds your organization's Google Workspace ID, remains.
- When you delete your data, we keep your organization's Google Workspace ID, a one-way code derived from your Chat user ID, and the deletion date, so you are not added back automatically. This record contains no name or activity, and we keep it indefinitely.
- Checkout links are cleared when checkout completes or expires. Completed or expired checkout records and processed billing-event identifiers are removed after 90 days. Unresolved checkout records remain until their outcome is confirmed, to avoid creating a second charge when the first outcome is uncertain.
- Minimal workspace billing references and status, customer-creation safeguards, trial dates and workspace closure markers remain after membership deletion. They have no automatic deletion deadline. We use them to reconcile subscription and cancellation state, prevent duplicate charges and prevent a deleted workspace from restarting its trial. Contact us to review these records or request their deletion; we will explain any records that must remain for billing or safety reasons.
Expired activity and access records are removed automatically every hour. Billing cleanup runs with the service's regular billing maintenance. Stripe separately retains payment and invoice records under its privacy policy and applicable requirements; deleting PresenceDesk activity does not delete those records.
Backups
Each day at 01:15 UTC we copy the database to a backup on the same encrypted disk, replacing the previous copy. Each day at 02:00 UTC Google Cloud takes a snapshot of that disk. Snapshots are stored in the European Union and deleted automatically after 7 days. Check-ins, leave and membership records you delete are removed from the live database immediately and from backups within 10 days. The billing and deletion-prevention records described above are retained separately from that erasure. We never bring back data that was deleted after a backup was made; if we cannot re-apply those deletions, we do not restore personal data from that backup. Subscription and cancellation state must also be checked against Stripe before billing resumes after a recovery.
Your choices and rights
- In workspace settings, you can download your data, pause personal notifications, revoke your calendar link, sign out, or delete your activity and membership. Deleting removes your check-ins, leave requests and membership, and revokes your sessions, sign-in links and calendar link. If you are the last manager of a team that has other members, make another member a manager first.
- Deleting one member does not delete other people's memberships or cancel their team's subscription. The last member must explicitly confirm cancellation of any workspace subscription and closure of a pending checkout before deletion. That cancellation is immediate, and unused time is not automatically refunded. The retained billing records described above are not erased by this action.
- If you cannot use the workspace (for example, your membership was disabled or you uninstalled PresenceDesk), contact support@innovaapps.ai from your organization account and we will respond to your request.
- If a team manager or your organization's Google Workspace administrator wants an entire team deleted, they can contact support@innovaapps.ai and we will respond to the request.
- Deleting data in PresenceDesk does not remove messages already posted in Google Chat, copies other people downloaded, or copies cached by calendar apps.
- You can ask us for access to your personal data, or ask us to correct, export or delete it, by contacting support@innovaapps.ai. You can also complain to a data protection authority.
Google API Services User Data Policy
PresenceDesk's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. We do not use information from Google Workspace APIs to develop, improve or train generalized AI or machine learning models. Innova Apps staff do not read your data unless you ask us to for support, it is necessary for security (for example, investigating a bug or abuse), or the law requires it.
Changes to this policy
We will post any change to this policy on this page, with a new effective date, before the change takes effect.
Contact
Questions about this policy or your data: support@innovaapps.ai.