Cross Application Data Sharing in Studio
Cross Application Data Sharing enables C3 AI applications deployed within the same cluster to publish and consume shared data domains across applications. Provider applications can publish domains that expose selected types and packages, while consumer applications can discover, subscribe to, and access those domains through Studio.
Data sharing is managed at the application level. A provider application controls whether a consumer application receives access to a published domain. Once subscribed, requests for shared entity types are routed to the provider application's data layer at runtime.
Cross Application Data Sharing in Studio provides UI-based workflows for discovering, subscribing to, and managing shared domains between applications. This guide focuses on the administrative and operational workflows used by provider and consumer applications in Studio.
This guide explains the configuration and management workflows for both sides of the sharing relationship:
- Provider admins who publish domains and manage consumer access
- Consumer admins who discover domains, request access, and manage subscriptions
This topic focuses on administrative and operational workflows in Studio.
Key Concepts
Before configuring Cross Application Data Sharing, familiarize yourself with the following terms.
| Term | Definition |
|---|---|
| Provider Application | A C3 AI application that publishes one or more data domains for external consumption. The provider application controls what data is shared and what level of access is granted to consumer applications. |
| Consumer Application | A C3 AI application that discovers, subscribes to, and accesses shared domains published by another application. |
| Data Domain | A logical grouping of shared types, packages, and related metadata exposed by a provider application. A provider application can publish multiple domains. |
| Domain Registration | The process of making a domain available for discovery and subscription by consumer applications. |
| Subscription | A connection established between a consumer application and a provider domain. Once subscribed, requests for shared entity types are routed to the provider application. |
| Access Approval | The provider-managed workflow that grants a consumer application either READ or READ + WRITE access to a shared domain. |
| READ Access | Allows a consumer application to query and read shared data from a provider domain. |
| READ & WRITE Access | Represents an access level available in the domain access model. The current UI exposes both Read Only and Read & Write access selections during consumer access approval workflows. |
Before You Begin
Before configuring Cross Application Data Sharing, confirm the following prerequisites are in place:
- Both the provider and consumer applications must be deployed on the same C3 AI cluster. Cross-cluster data sharing is not supported.
- Ensure you have the appropriate application permissions for the tasks you are performing. Depending on the operation, some actions may require elevated permissions. For example, approving access requests requires App Admin privileges.
- Ensure an authentication method is configured for cross-application communication. See Authentication Methods for guidance.
Runtime Configuration Note
If local JVM dispatch is enabled for cross-application communication, ensure the appropriate local package-sharing/runtime configuration is enabled for the participating applications, especially in multi-node deployments.
Identity Model
Cross Application Data Sharing uses an application-level access model.
Provider applications grant access to consumer applications at the application level rather than per-user. Access approvals are associated with the requesting consumer application and the selected access level.
All requests to shared domains are evaluated using the consumer application's configured runtime identity.
This model is intended for service-to-service communication between applications within the same C3 AI environment.
Migration and Backward Compatibility Notice
Cross Application Data Sharing now uses the Db.Domain.Access–based workflow for domain access management, subscriptions, and authorization operations.
Existing applications and subscriptions configured using the earlier Db.Domain and allowAccess(...)–based workflow remain supported and do not require immediate migration. Existing shared-domain configurations, access permissions, and subscriptions continue to function with the current implementation.
The Db.Domain.Access workflow is the recommended approach for configuring and managing Cross Application Data Sharing access control, subscriptions, and runtime authorization behavior.
Runtime Authentication
Cross-application requests require runtime authentication between the consumer and provider applications.
Depending on the deployment configuration, additional runtime authorization settings may be required for successful cross-application communication.
For Local JVM Dispatch configurations, ensure that the required runtime authorization settings are configured correctly. See the runtime configuration guidance earlier in this document.