Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2026 Business & EducationPrivacy & Security

WWDC26 · 14 min · Business & Education / Privacy & Security

Meet Trust Insights

Uncover how Trust Insights can help protect people from social scams and coercion. Explore how this new framework uses privacy-preserving machine learning to detect when someone may be coached into risky actions. Find out how to integrate Trust Insights into your app, interpret its signals, and design thoughtful interventions that safeguard people while respecting their privacy.

Watch at developer.apple.com ↗

Transcript all transcripts

Chapters

Code shown on screen · 3 snippets

Generating insights swift · at 3:01 ↗
import TrustInsights

let request = IsLikelyBeingCoachedInsight.request(schema: .version1, modelVersion: .current)
let context = InsightEvaluator.InsightContext(operationCategory: .resourceUse,
                                              requestedEvaluations: request)

let evaluator = InsightEvaluator()
guard try await evaluator.requestAuthorization(for: context) == .authorized else { return }

let assessment = try await evaluator.requestEvaluation(context: context)
do {
    try handleAssessment(assessment)
} catch {
    // Handle error
}

assessment.reportConsumption(.usedIncreasedFriction)
Handling results for IsLikelyBeingCoachedInsight swift · at 5:37 ↗
func handleAssessment(_ assessment: InsightEvaluation<IsLikelyBeingCoachedInsight>) throws {
	switch try assessment.insight.outcome.get() {
		case .unknown:
		
		case .medium:

		case .high:

		@unknown default:

	}
}
Real-time consumption feedback swift · at 7:05 ↗
import TrustInsights

let request = IsLikelyBeingCoachedInsight.request(schema: .version1, modelVersion: .current)
let context = InsightEvaluator.InsightContext(operationCategory: .resourceUse,
                                              requestedEvaluations: request)

let evaluator = InsightEvaluator()
guard try await evaluator.requestAuthorization(for: context) == .authorized else { return }

let assessment = try await evaluator.requestEvaluation(context: context)
do {
    try handleAssessment(assessment)
} catch {
    // Handle error
}

assessment.reportConsumption(.usedIncreasedFriction)

Resources