---
title: InsightEvaluator
framework: trustinsights
role: symbol
role_heading: Class
path: trustinsights/insightevaluator
---

# InsightEvaluator

A class that defines data and methods the framework uses to perform evaluations.

## Declaration

```swift
final class InsightEvaluator
```

## Topics

### Creating an evaluator

- [init()](trustinsights/insightevaluator/init().md)

### Requesting and checking authorization status

- [authorizationStatus(for:)](trustinsights/insightevaluator/authorizationstatus(for:).md)
- [requestAuthorization(for:)](trustinsights/insightevaluator/requestauthorization(for:).md)
- [requestEvaluation(context:)](trustinsights/insightevaluator/requestevaluation(context:).md)
- [InsightEvaluator.AuthorizationStatus](trustinsights/insightevaluator/authorizationstatus.md)

### Requesting an evaluation

- [InsightEvaluator.InsightContext](trustinsights/insightevaluator/insightcontext.md)
- [InsightEvaluator.InsightRequest](trustinsights/insightevaluator/insightrequest.md)
- [InsightEvaluator.InsightRequestProtocol](trustinsights/insightevaluator/insightrequestprotocol.md)
- [InsightEvaluator.EvaluationError](trustinsights/insightevaluator/evaluationerror.md)
- [InsightEvaluator.ModelVersion](trustinsights/insightevaluator/modelversion.md)
- [InsightEvaluator.OperationCategory](trustinsights/insightevaluator/operationcategory.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Requesting an evaluation

- [requestEvaluation(context:)](trustinsights/insightevaluator/requestevaluation(context:).md)
- [InsightEvaluation](trustinsights/insightevaluation.md)
- [TrustInsight](trustinsights/trustinsight.md)
