> For the complete documentation index, see [llms.txt](https://oten.gitbook.io/kms-support/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oten.gitbook.io/kms-support/user-guide/publish-your-docs/google-calendar.md).

# Google Calendar

### I. Event Creation Flow: Scheduling a Secured Event

When an organizer creates an encrypted event in Google Calendar:

1. **DEK Generation:** Google generates a unique Data Encryption Key (DEK) specifically for that individual calendar event.
2. **Metadata Encryption:** Google encrypts the sensitive fields (Title, Description, and Attachments) using this local DEK.
3. **Key Protection Request:** Google sends the DEK to Oten KMS to be wrapped.
4. **Key Wrapping:** Oten KMS wraps (encrypts) the DEK using your Customer Managed Key (CMK) after verifying the organizer's permissions.
5. **Encrypted Storage:** The encrypted event data and the wrapped DEK are stored by Google. Accessing the event details requires the key to be unwrapped.

{% embed url="<https://app.supademo.com/demo/cmnr6xkb10yjdcr4jvj6hrfge?utm_source=link>" %}

### II. Viewing Flow: Accessing an Encrypted Event

When an invitee or the organizer views the encrypted event:

1. **Authorization Check:** Google retrieves the encrypted event and sends the wrapped DEK to Oten KMS.
2. **Key Unwrapping:** Oten KMS verifies the identity of the user (checking if they are on the guest list or have proper access) and unwraps the DEK using the CMK.
3. **Client-Side Decryption**: The plain-text DEK is returned to the user’s browser, which then decrypts the event details locally.
4. **Private Viewing:** The user sees the meeting title and description clearly, while Google’s servers only see encrypted "blobs" of data.

<figure><img src="/files/iO2G9kZlbRLsgAVAGJab" alt=""><figcaption></figcaption></figure>

### III. Maximize feature potential

* To optimize the use of this features across browsers and mobile apps, please configure your settings as follows:
  * For **mobile app:**&#x20;
    * Update the related apps to the **latest version for the best experience** (example: Gmail is 6.0.260406).
    * Chrome is the recommended default browser.
    * **Android:** If it does not work properly in the app, **clear the cache** and try again.
  * For **desktop app browser: Chrome** (or Chromium core browser) is the recommended default browser.
* These features **work reliably in web browsers**. On the mobile app, availability depends on the app version and Google's support, so usage may vary by version and is not always consistent.

### IV. Supported services, applications, and data types when using Google CSE

<table data-full-width="true"><thead><tr><th width="186.61328125">Service</th><th>Apps</th><th>Data that's client-side encrypted</th><th>Data that's not client-side encrypted</th></tr></thead><tbody><tr><td><strong>Google Calendar</strong></td><td><ul><li>Web browser</li><li>Android mobile app</li><li>iOS mobile app</li></ul><p><strong>Note:</strong> </p><ul><li>To optimize the use of Google Calendar, you must fully configure the Client ID for all related services: Calendar, Drive, Meet, and Gmail.</li><li>For Android, users need to install Chrome and set it as the default browser in order to use it.</li><li><strong>For mobile app:</strong> Chrome is the recommended default browser.</li></ul></td><td><ul><li>Event description</li><li>Attached Drive files (if CSE for Drive is turned on)</li><li>Meet audio and video streams (if CSE for Meet is turned on)</li></ul></td><td><p>Any content other than the event description, attachments, and Meet data, such as:</p><ul><li>Event title</li><li>Event starting and ending times</li><li>Attendees list</li><li>Booked rooms</li><li>Join by phone numbers</li><li>Link for Meet</li></ul></td></tr></tbody></table>
