Google Calendar Sanitized Data

The following table(s) contains detailed examples of the metadata fields available from the Google Calendar API endpoints Worklytics leverages. In order to pseudonymize and sanitize PII and other potentially sensitive data, Worklytics provides access to a Data Loss Prevention (DLP) Proxy, which allows customers to pre-filter metadata, within customer infrastructure, before it is sent to Worklytics for processing.

These are the fields Worklytics recommends but the Worklytics DLP Proxy provides full field-level control and therefore any field may be removed or sanitized.

Field descriptions are taken from third party API documentation, these are maintained on a best effort basis and Worklytics can not guarantee their indefinite accuracy. Please refer to the source API site for the most up-to-date documentation.

How to read the "DLP Proxy" column in the table(s):

⭕ This field is transformed, usually partially redacted

🟡 This field is "pseudonymized" by the DLP Proxy: only a SHA256 hash of its value is sent to Worklytics; never the value itself

To see the full (unsanitized) version of this document, click here.

Worklytics requires access to the following API primary endpoints:

ModelDescriptionAPI docs

Used to retrieve a list of calendar events (or an individual event) Endpoints: /calendar/v3/calendars/{accountId}/events /calendar/v3/calendars/{accountId}/events/{eventId}

Used to retrieve the collection of settings Endpoints: /calendar/v3/users/{accountId}/settings

Used to retrieve the collection of calendars in the user's calendar list Endpoints: /calendar/v3/users/{accountId}/calendarList

Used to retrieve a collection of calendar events

Used to retrieve a collection of existing calendars Endpoints: /calendar/v3/calendars/{accountId}

Event

API docs: https://developers.google.com/calendar/api/v3/reference/events#resource

DLP Proxy docs: Google Calendar

DLP ProxyProperty NameTypeDescription

🟢 Allowed

anyoneCanAddSelf

Boolean

🟢 Allowed

attachments[]

List of EventAttachment

🟢 Allowed

attachments[].fileId

String

🟢 Allowed

attachments[].fileUrl

String

🟢 Allowed

attachments[].iconLink

String

🟢 Allowed

attachments[].mimeType

String

🟢 Allowed

attachments[].title

String

🟡 Pseudonymized

attendees[]

List of Attendee

🟢 Allowed

attendees[].additionalGuests

Integer

🟡 Pseudonymized

attendees[].email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

attendees[].id

String

🟢 Allowed

attendees[].optional

Boolean

🟢 Allowed

attendees[].organizer

Boolean

🟢 Allowed

attendees[].resource

Boolean

🟢 Allowed

attendees[].responseStatus

String

🟢 Allowed

attendees[].self

Boolean

🟢 Allowed

attendeesOmitted

Boolean

🟢 Allowed

colorId

String

🟡 Pseudonymized

conferenceData

ConferenceData

🟢 Allowed

conferenceData.conferenceId

String

🟢 Allowed

conferenceData.conferenceSolution

ConferenceSolution

🟢 Allowed

conferenceData.conferenceSolution.iconUri

String

🟢 Allowed

conferenceData.conferenceSolution.key

ConferenceSolutionKey

🟢 Allowed

conferenceData.conferenceSolution.key.type

String

🟢 Allowed

conferenceData.conferenceSolution.name

String

⭕ Sanitized

conferenceData.entryPoints[]

List of EntryPoint

🟢 Allowed

conferenceData.entryPoints[].entryPointFeatures

List of String

🟢 Allowed

conferenceData.entryPoints[].entryPointType

String

🟢 Allowed

conferenceData.entryPoints[].label

String

🟢 Allowed

conferenceData.entryPoints[].meetingCode

String

🟢 Allowed

conferenceData.entryPoints[].regionCode

String

🟢 Allowed

conferenceData.signature

String

🟢 Allowed

created

DateTime

🟡 Pseudonymized

creator

Creator

🟡 Pseudonymized

creator.email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

creator.id

String

🟢 Allowed

creator.self

Boolean

🟢 Allowed

defaultCalendarTimeZone

String

🟢 Allowed

end

EventDateTime

🟢 Allowed

end.date

DateTime

🟢 Allowed

end.dateTime

DateTime

🟢 Allowed

end.timeZone

String

🟢 Allowed

endTimeUnspecified

Boolean

🟢 Allowed

etag

String

🟢 Allowed

eventType

String

🟢 Allowed

guestsCanInviteOthers

Boolean

🟢 Allowed

guestsCanModify

Boolean

🟢 Allowed

guestsCanSeeOtherGuests

Boolean

🟢 Allowed

hangoutLink

String

🟢 Allowed

htmlLink

String

🟢 Allowed

iCalUID

String

🟢 Allowed

id

String

🟢 Allowed

kind

String

⭕ Sanitized

location

String

🟢 Allowed

locked

Boolean

🟡 Pseudonymized

organizer

Organizer

🟡 Pseudonymized

organizer.email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

organizer.id

String

🟢 Allowed

organizer.self

Boolean

🟢 Allowed

originalStartTime

EventDateTime

🟢 Allowed

privateCopy

Boolean

🟢 Allowed

recurrence

List of String

🟢 Allowed

recurringEventId

String

🟢 Allowed

sequence

Integer

🟢 Allowed

start

EventDateTime

🟢 Allowed

status

String

⭕ Sanitized

summary

String

Title of the event

🟢 Allowed

transparency

String

🟢 Allowed

updated

DateTime

🟢 Allowed

userAccountId

String

🟢 Allowed

visibility

String

Setting

API docs: https://developers.google.com/calendar/api/v3/reference/settings#resource

DLP Proxy docs: Google Calendar

DLP ProxyProperty NameTypeDescription

🟢 Allowed

etag

String

🟢 Allowed

id

String

🟢 Allowed

kind

String

🟢 Allowed

value

String

CalendarList

API docs: https://developers.google.com/calendar/api/v3/reference/calendarList#resource

DLP Proxy docs: Google Calendar

DLP ProxyProperty NameTypeDescription

🟢 Allowed

etag

String

🟡 Pseudonymized

items[]

List of CalendarListEntry

🟢 Allowed

items[].accessRole

String

🟢 Allowed

items[].backgroundColor

String

🟢 Allowed

items[].colorId

String

🟢 Allowed

items[].deleted

Boolean

🟢 Allowed

items[].etag

String

🟢 Allowed

items[].foregroundColor

String

🟢 Allowed

items[].hidden

Boolean

🟡 Pseudonymized

items[].id

String

Raw example: alice@acme.com Sanitized example:

p~cs917Yg9tfqGyvXJ9TekgMRS9PiX7DoIyrbKf3BPnMXRVZanwrlMfQ5aaVqCGwuX@acme.com

🟢 Allowed

items[].kind

String

🟢 Allowed

items[].location

String

🟢 Allowed

items[].primary

Boolean

🟢 Allowed

items[].selected

Boolean

⭕ Sanitized

items[].summary

String

⭕ Sanitized

items[].summaryOverride

String

🟢 Allowed

items[].timeZone

String

🟢 Allowed

kind

String

🟢 Allowed

nextPageToken

String

🟢 Allowed

nextSyncToken

String

Events

API docs: https://developers.google.com/calendar/api/v3/reference/events

DLP Proxy docs: Google Calendar

DLP ProxyProperty NameTypeDescription

🟢 Allowed

etag

String

🟡 Pseudonymized

items[]

List of Event

🟢 Allowed

items[].anyoneCanAddSelf

Boolean

🟢 Allowed

items[].attachments[]

List of EventAttachment

🟢 Allowed

items[].attachments[].fileId

String

🟢 Allowed

items[].attachments[].fileUrl

String

🟢 Allowed

items[].attachments[].iconLink

String

🟢 Allowed

items[].attachments[].mimeType

String

🟢 Allowed

items[].attachments[].title

String

🟡 Pseudonymized

items[].attendees[]

List of Attendee

🟢 Allowed

items[].attendees[].additionalGuests

Integer

🟡 Pseudonymized

items[].attendees[].email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

items[].attendees[].id

String

🟢 Allowed

items[].attendees[].optional

Boolean

🟢 Allowed

items[].attendees[].organizer

Boolean

🟢 Allowed

items[].attendees[].resource

Boolean

🟢 Allowed

items[].attendees[].responseStatus

String

🟢 Allowed

items[].attendees[].self

Boolean

🟢 Allowed

items[].attendeesOmitted

Boolean

🟢 Allowed

items[].colorId

String

🟡 Pseudonymized

items[].conferenceData

ConferenceData

🟢 Allowed

items[].conferenceData.conferenceId

String

🟢 Allowed

items[].conferenceData.conferenceSolution

ConferenceSolution

🟢 Allowed

items[].conferenceData.conferenceSolution.iconUri

String

🟢 Allowed

items[].conferenceData.conferenceSolution.key

ConferenceSolutionKey

🟢 Allowed

items[].conferenceData.conferenceSolution.key.type

String

🟢 Allowed

items[].conferenceData.conferenceSolution.name

String

⭕ Sanitized

items[].conferenceData.entryPoints[]

List of EntryPoint

🟢 Allowed

items[].conferenceData.entryPoints[].entryPointFeatures

List of String

🟢 Allowed

items[].conferenceData.entryPoints[].entryPointType

String

🟢 Allowed

items[].conferenceData.entryPoints[].label

String

🟢 Allowed

items[].conferenceData.entryPoints[].meetingCode

String

🟢 Allowed

items[].conferenceData.entryPoints[].regionCode

String

🟢 Allowed

items[].conferenceData.signature

String

🟢 Allowed

items[].created

DateTime

🟡 Pseudonymized

items[].creator

Creator

🟡 Pseudonymized

items[].creator.email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

items[].creator.id

String

🟢 Allowed

items[].creator.self

Boolean

🟢 Allowed

items[].defaultCalendarTimeZone

String

🟢 Allowed

items[].end

EventDateTime

🟢 Allowed

items[].end.date

DateTime

🟢 Allowed

items[].end.dateTime

DateTime

🟢 Allowed

items[].end.timeZone

String

🟢 Allowed

items[].endTimeUnspecified

Boolean

🟢 Allowed

items[].etag

String

🟢 Allowed

items[].eventType

String

🟢 Allowed

items[].guestsCanInviteOthers

Boolean

🟢 Allowed

items[].guestsCanModify

Boolean

🟢 Allowed

items[].guestsCanSeeOtherGuests

Boolean

🟢 Allowed

items[].hangoutLink

String

🟢 Allowed

items[].htmlLink

String

🟢 Allowed

items[].iCalUID

String

🟢 Allowed

items[].id

String

🟢 Allowed

items[].kind

String

⭕ Sanitized

items[].location

String

🟢 Allowed

items[].locked

Boolean

🟡 Pseudonymized

items[].organizer

Organizer

🟡 Pseudonymized

items[].organizer.email

String

Raw example: alice@acme.com Sanitized example:

{
	"scope":"email",
	"domain":"acme.com",
	"hash":"aT3usZghgyWmDoXRncq5qhmQJQMjY49xDJylpM4TyYI"
}

🟢 Allowed

items[].organizer.id

String

🟢 Allowed

items[].organizer.self

Boolean

🟢 Allowed

items[].originalStartTime

EventDateTime

🟢 Allowed

items[].privateCopy

Boolean

🟢 Allowed

items[].recurrence

List of String

🟢 Allowed

items[].recurringEventId

String

🟢 Allowed

items[].sequence

Integer

🟢 Allowed

items[].start

EventDateTime

🟢 Allowed

items[].status

String

⭕ Sanitized

items[].summary

String

Title of the event

🟢 Allowed

items[].transparency

String

🟢 Allowed

items[].updated

DateTime

🟢 Allowed

items[].userAccountId

String

🟢 Allowed

items[].visibility

String

🟢 Allowed

kind

String

🟢 Allowed

nextPageToken

String

🟢 Allowed

nextSyncToken

String

🟢 Allowed

timeZone

String

🟢 Allowed

updated

EventDateTime

Calendar

API docs: https://developers.google.com/calendar/api/v3/reference/calendars#resource

DLP Proxy docs: Google Calendar

DLP ProxyProperty NameTypeDescription

🟢 Allowed

description

String

🟢 Allowed

etag

String

🟡 Pseudonymized

id

String

Identifier of the calendar Raw example: alice@acme.com Sanitized example:

p~cs917Yg9tfqGyvXJ9TekgMRS9PiX7DoIyrbKf3BPnMXRVZanwrlMfQ5aaVqCGwuX@acme.com

🟢 Allowed

kind

String

🟢 Allowed

location

String

🟢 Allowed

timeZone

String

Last updated