Partner Onboarding Setup Guide
Please confirm the following are already in place. If any of these are missing, contact your Trudenty onboarding contact before starting.
| Requirement | What it means |
|---|---|
| An active Databricks workspace | The same workspace that is connected to your Trudenty clean room |
| At least one completed Trust Index compute run | Trudenty has already generated results for your data |
| Unity Catalog enabled | A Databricks data-governance feature must be turned on, and you must have permission to create schemas |
| A running SQL warehouse | A compute resource in Databricks that can run queries |
| Clean room setup completed by Trudenty | Trudenty has given you a schema name in the format clean_room_output.output_schema_<id> |
Table of Contents
- Step 1 - Configure Access to Your Output Tables
- Step 2 - Grant the API Service Read Access
- Step 3 - Provide Your Configuration to Trudenty
- Step 4 - Set Up Authentication
- Integration Flow Summary
Step 1 - Configure Access to Your Output Tables
The Trust Index pipeline writes output tables into your Databricks workspace. Trudenty can either read these tables directly or read from a copy stored in your own Unity Catalog. You need to decide where the API should read this data from. This step accomplishes that decision and, if needed, sets up a copy of your data under your own control.
Prerequisites
- Unity Catalog enabled in your Databricks workspace
- Permission to create catalogs/schemas (if you choose Option B below)
- The clean room output schema name provided by Trudenty (format:
clean_room_output.output_schema_<id>)
Access Options
There are two ways to give the API access to your Trust Index data:
| Option | Best for | Setup effort |
|---|---|---|
| Option A: Read directly from the clean room output schema | Recommended for most Partners. No additional data copy is required. Suitable where the agreed retention window meets operational requirements. | No additional setup. The Partner's Service Principal only needs read access to the clean room output schema. Proceed to Step 2. |
| Option B: Persist outputs into an internal Unity Catalog schema | Use when the Partner requires CTI data to reside in a Unity Catalog that they own and manage independently of the clean room collaboration. | Create an internal schema, copy the output tables, and grant the Service Principal access. See Section 1.2. |
Not sure which to choose?If your organization has no specific data-governance requirement, choose Option A. It requires no setup on your part.
Detailed Instructions on Access Options
If choosing Option A (recommended default):
- No action is required. No table copy is required. The Trust Index API will read directly from the clean room output schema.
- Confirm with your Trudenty contact that the schema name they gave you matches the format
clean_room_output.output_schema_<id>. - The default retention period for clean room outputs is typically 30 days and can be configured if longer retention is required.
- Ensure that the Partner's Service Principal has read access to this schema.
- Proceed to Step 2 (which you can skip - see note in Step 2).
If choosing Option B:
- Open Databricks SQL.
- Create a new schema in your own catalog (replace
acme_workspacewith your actual catalog name):CREATE SCHEMA IF NOT EXISTS acme_workspace.trudenty_output; - Copy each of the three required tables into your new schema:
CREATE TABLE IF NOT EXISTS acme_workspace.trudenty_output.consumer_table AS SELECT * FROM clean_room_output.output_schema_<id>.consumer_table; CREATE TABLE IF NOT EXISTS acme_workspace.trudenty_output.consumer_table_reason_code AS SELECT * FROM clean_room_output.output_schema_<id>.consumer_table_reason_code; CREATE TABLE IF NOT EXISTS acme_workspace.trudenty_output.trust_dimension_score AS SELECT * FROM clean_room_output.output_schema_<id>.trust_dimension_score; - Set up a recurring Databricks job that runs after every new Trust Index compute run, to keep your copy up to date:
INSERT INTO acme_workspace.trudenty_output.consumer_table SELECT * FROM clean_room_output.output_schema_<id>.consumer_table WHERE compute_date > ( SELECT MAX(compute_date) FROM acme_workspace.trudenty_output.consumer_table ); - Schedule this job to run at the same frequency as your Trust Index compute runs (confirm this schedule with Trudenty).
Expected Result
- Option A: Nothing changes - you simply confirm the existing schema is accessible.
- Option B: You have a new schema (e.g.,
acme_workspace.trudenty_output) containing three tables, with a scheduled job keeping them current.
Verification
- Option A: Ask Trudenty to confirm they can query the schema name you were given.
- Option B: Run
SELECT COUNT(*) FROM acme_workspace.trudenty_output.consumer_table;and confirm it returns a non-zero number of rows.
Step 2 - Create a Service Principal and Grant Read Access
NoteThis step is only required if you chose Option B in Step 1. If you chose Option A, skip ahead to Step 3 - Trudenty already has the access it needs.
The Partner must create a dedicated Service Principal that Trudenty will use to authenticate with the Partner's Databricks workspace using OAuth 2.0 Client Credentials.
2.1 Create a Service Principal
Create a dedicated Service Principal that Trudenty will use to access your Databricks workspace.
In Databricks, Navigate to:
Settings → Identity And Access → Service Principals → Add Service Principal2.2 Grant Permissions
Grant the Service Principal only the minimum permissions required. You will run a small set of commands that tell Databricks: "Allow Trudenty's system to read these three tables, and nothing more." This is a one-time setup per client.
For Option B:
- Open Databricks SQL.
- Ask your Trudenty contact for the exact service principal identifier if you don't already have it.
- Run the following commands, replacing
acme_workspacewith your catalog name and<your_service_principal_application_id>with your service provider application id:GRANT USE CATALOG ON CATALOG acme_workspace TO `<your_service_principal_application_id>`; GRANT USE SCHEMA ON SCHEMA acme_workspace.trudenty_output TO `<your_service_principal_application_id>`; GRANT SELECT ON TABLE acme_workspace.trudenty_output.consumer_table TO `<your_service_principal_application_id>`; GRANT SELECT ON TABLE acme_workspace.trudenty_output.consumer_table_reason_code TO `<your_service_principal_application_id>`; GRANT SELECT ON TABLE acme_workspace.trudenty_output.trust_dimension_score TO `<your_service_principal_application_id>`; - Confirm with your Trudenty contact once this has been completed.
For Option A, grant equivalent USE CATALOG, USE SCHEMA, and SELECT permissions on the clean room output schema.
The Service Principal should only have read access to the required tables.
Verification
Run the following to confirm the grants are in place:
SHOW GRANTS ON TABLE acme_workspace.trudenty_output.consumer_table;2.3 Generate an OAuth Secret
After creating the Service Principal:
Settings
↓
Identity & Access
↓
Service Principals
↓
Select the Service Principal
↓
Secrets
↓
Generate SecretDatabricks generates secret credentials:
- Client ID
- Client Secret
Step 3 - Provide Your Configuration to Trudenty
Trudenty needs a small set of connection details to set up your dedicated, private API instance. This step is how you securely hand over those details.
Once the Service Principal has been configured and granted access, securely provide the following information to Trudenty.
Configuration Values to Provide
| Value | Where to find it |
|---|---|
| Databricks workspace URL | The web address shown in your browser when logged into Databricks (e.g., https://acme.gcp.databricks.com). |
| SQL warehouse HTTP path | In Databricks, go to SQL → SQL Warehouses, Select your warehouse, then check the Connection details tab for the HTTP path fieldSQL → SQL Warehouses → Select Warehouse → Connection Details → HTTP Path |
| Catalog name | Visible in Catalog Explorer. If you chose Option A in Step 1, this is the clean room's catalog; if Option B, it's your own catalog |
| Schema name | Also visible in Catalog Explorer, listed under your catalog |
| Client ID | Service Principal details page |
| Client Secret | Generated from the Service Principal's Secrets tab |
Use a secure credential-sharing method (such as a password manager, encrypted vault, or secure file-sharing solution). Do not send credentials through unsecured email or chat.
Trudenty stores these credentials securely and uses the OAuth 2.0 Client Credentials flow to obtain short-lived access tokens when connecting to the Partner's Databricks SQL Warehouse. The Client Secret is never exposed after onboarding and no Personal Access Token (PAT) is required.
Step 4 - Set Up Authentication
Every request to the Trust Index APIs must be authenticated to ensure it originates from an authorized client. After Trudenty completes your onboarding, dedicated API credentials will be generated for your organization.
As part of the onboarding process, Trudenty will generate and securely provide the following API credentials:
- API Client ID
- API Client Secret
These credentials are used to authenticate every request to the Trust Index APIs.
ImportantThe API Client Secret is confidential and should be treated like a password. Never commit it to source control or expose it in client-side applications.
Credential RotationIf you believe your API Client Secret has been compromised or requires rotation, contact Trudenty. A new API Client Secret can be issued and the previous one will be revoked.
Security Best PracticeStore the API Client ID and API Client Secret in a secure secrets management solution and restrict access to authorized systems only.
Include the credentials in the header of every API request:
x-client-id: <your_api_client_id>
x-client-secret: <your_api_client_secret>
Need Assistance?If you have questions about onboarding, authentication, or API integration, visit the Contact Support page to explore available support channels and contact our team.
Integration Flow Summary
Clean Room Pipeline
(Computes Trust Index Results)
│
▼
┌─────────────────────────────────────────────┐
│ Step 1 – Configure Access to Output Tables │
│ • Option A: Read directly │
│ • Option B: Copy into your own schema │
└──────────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Step 2 – Create Service Principal │
│ • Generate OAuth Secret │ (Option B only)
│ • Grant Read Permissions │
└──────────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Step 3 – Share Configuration with Trudenty │
│ │
│ • Workspace URL │
│ • SQL Warehouse HTTP Path │
│ • Catalog Name │
│ • Schema Name │
│ • Databricks Client ID │
│ • Databricks Client Secret │
└──────────────────────┬──────────────────────┘
│
▼
Trudenty validates the configuration
and provisions a dedicated API instance
│
▼
┌─────────────────────────────────────────────┐
│ Step 4 – Receive API Credentials │
│ │
│ Trudenty issues: │
│ • API Client ID │
│ • API Client Secret │
└──────────────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Step 5 – Call the Trust Index APIs │
│ │
│ Request Headers: │
│ x-client-id: <api_client_id> │
│ x-client-secret: <api_client_secret> │
│ │
│ GET /v1/consumer-trust-index │
│ GET /v1/consumer-trust-index/history │
└─────────────────────────────────────────────┘
What's Next
Begin your integration by understanding the API, configuring authentication, and making your first request.
Updated about 2 months ago