|
| 1 | +--- |
| 2 | +id: chatgpt-compliance |
| 3 | +title: ChatGPT Compliance |
| 4 | +sidebar_label: ChatGPT Compliance |
| 5 | +description: The Sumo Logic app for ChatGPT Compliance gives you a unified view of AI usage, enabling transparent oversight, data protection, and adherence to corporate governance standards. |
| 6 | +--- |
| 7 | + |
| 8 | +import useBaseUrl from '@docusaurus/useBaseUrl'; |
| 9 | + |
| 10 | +<img src={useBaseUrl('img/send-data/chatgpt-compliance.png')} alt="Carbon Black Inventory icon" width="50" /> |
| 11 | + |
| 12 | +The Sumo Logic app for ChatGPT Compliance enables you to uphold security, transparency, and accountability in your use of AI-powered conversations across teams and departments by centralizing compliance and audit data from ChatGPT Workspace environments. You can monitor the usage, review conversation activity, and ensure adherence to corporate governance and data protection standards. |
| 13 | + |
| 14 | +This app provides visibility into how ChatGPT is used across your organization, identifying interaction patterns, data-sharing behaviors, and potential policy or compliance risks by leveraging detailed metadata, content insights, and audit trails. This transparency supports proactive oversight, risk mitigation, and regulatory alignment. |
| 15 | + |
| 16 | +Comprehensive dashboards and visualizations provide a holistic view of your organization’s AI interaction posture, highlighting activity trends, message-level insights, and data sensitivity indicators, to help compliance teams detect irregularities, enforce responsible AI policies, and protect proprietary information, while enabling leadership to strengthen governance, safeguard data integrity, and maintain trust in responsible technology use. |
| 17 | + |
| 18 | +## Log types |
| 19 | + |
| 20 | +This app uses Sumo Logic’s [ChatGPT Compliance Source](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/chatgpt-compliance-source/) to collect the conversation logs from the ChatGPT Compliance platform. |
| 21 | + |
| 22 | +## Sample log message |
| 23 | + |
| 24 | +<details> |
| 25 | +<summary>Conversation Log</summary> |
| 26 | + |
| 27 | +```json |
| 28 | +{ |
| 29 | + "id": "68cccb0d-6994-8321-8268-5193b8b55c01", |
| 30 | + "created_at": 1760231119.916074, |
| 31 | + "last_active_at": 1760349119.540962, |
| 32 | + "message": { |
| 33 | + "author": { |
| 34 | + "object": "compliance.workspace.conversation.message.author", |
| 35 | + "role": "user", |
| 36 | + "tool_name": "myfiles_browser" |
| 37 | + }, |
| 38 | + "content": { |
| 39 | + "annotations": [], |
| 40 | + "type": "text", |
| 41 | + "value": "he didn't get the siding permit yet, but has started working on it." |
| 42 | + }, |
| 43 | + "created_at": 1760411119.881, |
| 44 | + "files": { |
| 45 | + "data": [ |
| 46 | + { |
| 47 | + "created_at": 1760411119.119338, |
| 48 | + "download_url": "https://files01.oaiusercontent.com/file-TfyE2zmUjSNYWCPudTieSx?se=2025-10-13T10%3A19%3A00Z\u0026sp=r\u0026sv=2024-08-04\u0026sr=b\u0026rscc=max-age%3D3599%2C%20immutable%2C%20private\u0026rscd=attachment%3B%20filename%3DGreg%2520F.txt\u0026skoid=dfdaf859-26f6-4fed-affc-1befb5ac1ac2\u0026sktid=a48cca56-e6da-484e-a814-9c849652bcb3\u0026skt=2025-10-13T09%3A16%3A38Z\u0026ske=2025-10-14T09%3A16%3A38Z\u0026sks=b\u0026skv=2024-08-04\u0026sig=v4gL3%2ByyUihI%2BPuMZTUx30pg7fPh/E/mgx4bc4RzGd8%3D", |
| 49 | + "id": "file-AfyE2zmUjSNYWCPudTieSx", |
| 50 | + "name": "Greg F1.txt", |
| 51 | + "object": "compliance.workspace.conversation.message.file" |
| 52 | + } |
| 53 | + ], |
| 54 | + "has_more": false, |
| 55 | + "last_id": null, |
| 56 | + "object": "list" |
| 57 | + }, |
| 58 | + "gpt_id": "g-68a29a23af308191a22a206acd7f965a", |
| 59 | + "id": "b99bae4e-0746-4001-9971-17f8c019d55f", |
| 60 | + "object": "compliance.workspace.conversation.message", |
| 61 | + "parent_id": "b99bae4e-0746-4002-9971-17f8c019d55f", |
| 62 | + "project_id": null |
| 63 | + }, |
| 64 | + "title": "Anchor div to bottom", |
| 65 | + "user_id": "user-avcJbusY2W3lkb6aT6aY4gsx", |
| 66 | + "user_email": "[email protected]", |
| 67 | + "workspace_id": "11bf645e-d5e8-4478-a70e-e5742ded2436", |
| 68 | + "object": "compliance.workspace.conversation" |
| 69 | +} |
| 70 | +``` |
| 71 | +</details> |
| 72 | + |
| 73 | +## Sample queries |
| 74 | + |
| 75 | +```sql title="Messages by Content Type" |
| 76 | +_sourceCategory=GPT |
| 77 | +| json "id", "last_active_at", "user_id", "user_email", "title", "workspace_id", "message.author.role", "message.author.tool_name", "message.content.type", "message.content.value", "message.files.data[*]", "message.gpt_id", "message.id" as id, last_active_at, user_id, user_email, title, workspace_id, role, tool_name, message_type, message_value, files_data, gpt_id, message_id nodrop |
| 78 | + |
| 79 | +// global filters |
| 80 | +| where user_email matches "{{user}}" or isBlank(user_email) |
| 81 | +| where role matches "{{role}}" or isBlank(role) |
| 82 | +| where tool_name matches "{{tool}}" or isBlank(tool_name) |
| 83 | +| where gpt_id matches "{{model}}" or isBlank(gpt_id) |
| 84 | +| where message_type matches "{{message_type}}" or isBlank(message_type) |
| 85 | +| where message_value contains "{{message}}" or "{{message}}" == "*" |
| 86 | + |
| 87 | +| where !isBlank(message_type) |
| 88 | +| count by message_id, message_type |
| 89 | +| count by message_type |
| 90 | +| sort by _count, message_type |
| 91 | +``` |
| 92 | + |
| 93 | +```sql title="Messages by Role" |
| 94 | +_sourceCategory=GPT |
| 95 | +| json "id", "last_active_at", "user_id", "user_email", "title", "workspace_id", "message.author.role", "message.author.tool_name", "message.content.type", "message.content.value", "message.files.data[*]", "message.gpt_id", "message.id" as id, last_active_at, user_id, user_email, title, workspace_id, role, tool_name, message_type, message_value, files_data, gpt_id, message_id nodrop |
| 96 | + |
| 97 | +// global filters |
| 98 | +| where user_email matches "{{user}}" or isBlank(user_email) |
| 99 | +| where role matches "{{role}}" or isBlank(role) |
| 100 | +| where tool_name matches "{{tool}}" or isBlank(tool_name) |
| 101 | +| where gpt_id matches "{{model}}" or isBlank(gpt_id) |
| 102 | +| where message_type matches "{{message_type}}" or isBlank(message_type) |
| 103 | +| where message_value contains "{{message}}" or "{{message}}" == "*" |
| 104 | + |
| 105 | +| where !isBlank(role) |
| 106 | +| count by message_id, role |
| 107 | +| count by role |
| 108 | +| sort by _count, role |
| 109 | +``` |
| 110 | + |
| 111 | +```sql title="Top 10 Users by Conversations" |
| 112 | +_sourceCategory=GPT |
| 113 | +| json "id", "last_active_at", "user_id", "user_email", "title", "workspace_id", "message.author.role", "message.author.tool_name", "message.content.type", "message.content.value", "message.files.data[*]", "message.gpt_id", "message.id" as id, last_active_at, user_id, user_email, title, workspace_id, role, tool_name, message_type, message_value, files_data, gpt_id, message_id nodrop |
| 114 | + |
| 115 | +// global filters |
| 116 | +| where user_email matches "{{user}}" or isBlank(user_email) |
| 117 | +| where role matches "{{role}}" or isBlank(role) |
| 118 | +| where tool_name matches "{{tool}}" or isBlank(tool_name) |
| 119 | +| where gpt_id matches "{{model}}" or isBlank(gpt_id) |
| 120 | +| where message_type matches "{{message_type}}" or isBlank(message_type) |
| 121 | +| where message_value contains "{{message}}" or "{{message}}" == "*" |
| 122 | + |
| 123 | +| where !isBlank(user_id) and !isBlank(user_email) |
| 124 | +| count by id, user_id, user_email |
| 125 | +| count as frequency by user_id, user_email |
| 126 | +| sort by frequency |
| 127 | +| limit 10 |
| 128 | +``` |
| 129 | + |
| 130 | +## Collection configuration and app installation |
| 131 | + |
| 132 | +import CollectionConfiguration from '../../reuse/apps/collection-configuration.md'; |
| 133 | + |
| 134 | +<CollectionConfiguration/> |
| 135 | + |
| 136 | +:::important |
| 137 | +Use the [Cloud-to-Cloud Integration for ChatGPT Compliance](/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/chatgpt-compliance-source/) to create the source and use the same source category while installing the app. By following these steps, you can ensure that your ChatGPT Compliance app is properly integrated and configured to collect and analyze your ChatGPT Compliance data. |
| 138 | +::: |
| 139 | + |
| 140 | +### Create a new collector and install the app |
| 141 | + |
| 142 | +import AppCollectionOPtion1 from '../../reuse/apps/app-collection-option-1.md'; |
| 143 | + |
| 144 | +<AppCollectionOPtion1/> |
| 145 | + |
| 146 | +### Use an existing collector and install the app |
| 147 | + |
| 148 | +import AppCollectionOPtion2 from '../../reuse/apps/app-collection-option-2.md'; |
| 149 | + |
| 150 | +<AppCollectionOPtion2/> |
| 151 | + |
| 152 | +### Use an existing source and install the app |
| 153 | + |
| 154 | +import AppCollectionOPtion3 from '../../reuse/apps/app-collection-option-3.md'; |
| 155 | + |
| 156 | +<AppCollectionOPtion3/> |
| 157 | + |
| 158 | +## Viewing the ChatGPT Compliance dashboards |
| 159 | + |
| 160 | +import ViewDashboards from '../../reuse/apps/view-dashboards.md'; |
| 161 | + |
| 162 | +<ViewDashboards/> |
| 163 | + |
| 164 | +### Security |
| 165 | + |
| 166 | +The **ChatGPT Compliance – Security** dashboard offers a comprehensive view of ChatGPT usage and interaction patterns across your organization, enabling compliance and security teams to monitor activity, assess AI adoption, and uphold responsible data governance. Interactive visualizations reveal key metrics, including active users, model utilization, message volume, and content types. |
| 167 | + |
| 168 | +Panels like *Top 10 Users by Conversations* and *Top 10 Users by Messages* highlight the most active participants, enabling administrators to identify behavioral trends and usage patterns, supporting policy alignment and informed decisions on model governance and optimization. Time-series views, such as the *Messages Over Time* panel, track engagement over time to detect spikes or anomalies. Meanwhile, *File Uploads*, *Conversations Summaries*, and *Messages Summaries* centralize interaction metrics for streamlined monitoring and audit readiness. The *Content Sensitivity Scan* further strengthens oversight by flagging messages with potentially sensitive or regulated data for prompt risk mitigation. |
| 169 | + |
| 170 | +By unifying user activity, data sensitivity, and model usage insights in a single dynamic interface, this dashboard delivers the visibility and control needed to ensure transparency, responsible AI use, and compliance across your organization.<br/><img src='https://sumologic-app-data-v2.s3.us-east-1.amazonaws.com/dashboards/chatgpt-compliance/ChatGPT+Compliance+-+Security.png' alt="ChatGPT-Compliance-Security-Dashboard" /> |
| 171 | + |
| 172 | +## Upgrading/Downgrading the ChatGPT Compliance app (Optional) |
| 173 | + |
| 174 | +import AppUpdate from '../../reuse/apps/app-update.md'; |
| 175 | + |
| 176 | +<AppUpdate/> |
| 177 | + |
| 178 | +## Uninstalling the ChatGPT Compliance app (Optional) |
| 179 | + |
| 180 | +import AppUninstall from '../../reuse/apps/app-uninstall.md'; |
| 181 | + |
| 182 | +<AppUninstall/> |
0 commit comments