<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: -",
    "macOS: 14.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SensitiveContentAnalysis",
  "identifier" : "/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/VideoAnalysisHandler",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Sensitive Content Analysis",
      "SensitiveContentAnalysis"
    ],
    "preciseIdentifier" : "s:So21SCSensitivityAnalyzerC24SensitiveContentAnalysisE05VideoE7HandlerC"
  },
  "title" : "SCSensitivityAnalyzer.VideoAnalysisHandler"
}
-->

# SCSensitivityAnalyzer.VideoAnalysisHandler

An object that checks if a video contains sensitive content and provides status updates.

```
final class VideoAnalysisHandler
```

## Overview

Checking video for sensitive content can take longer than checking images. This class enables an app to stay informed on the framework’s progress while it checks a video for sensitive content. The [`SCSensitivityAnalyzer`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer) method [`videoAnalysis(forFileAt:)`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/videoAnalysis(forFileAt:)) returns an instance of this class.

To analyze a video file for sensitive content, pass a video URL into the [`videoAnalysis(forFileAt:)`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/videoAnalysis(forFileAt:)) function. While waiting on the [`hasSensitiveContent()`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/VideoAnalysisHandler/hasSensitiveContent()) method, check [`progress`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/VideoAnalysisHandler/progress) for the completion status:

```swift
let handler = analyzer.videoAnalysis(forFileAt: videoFileUrl)

let progress = handler.progress
// Do something with the `progress` property, such as dispatch a UI update thread.

// Wait here until the video check for sensitive content completes.
let response = try await handler.hasSensitiveContent()
```

## Topics

### Checking progress

[`var progress: Progress`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/VideoAnalysisHandler/progress)

An object that provides the app with status updates while a sensitive content check occurs for a video.

### Determining sensitivity

[`func hasSensitiveContent() async throws -> SCSensitivityAnalysis`](/documentation/SensitiveContentAnalysis/SCSensitivityAnalyzer/VideoAnalysisHandler/hasSensitiveContent())

Provides a result that indicates if the video file contains sensitive content.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)