 		}
 	}
 
+	public func simpleSiriStatus() -> PrivacyAuthorizationSimpleStatus {
+		if #available(iOS 10, *) {
+			switch INPreferences.siriAuthorizationStatus() {
+			case .notDetermined:
+				return .notDetermined
+			case .restricted, .denied:
+				return .unauthorized
+			case .authorized:
+				return .authorized
+			}
+		} else {
+			return .notAvailable
+		}
+	}
+
 	public func cameraStatus() -> AVAuthorizationStatus {
 		return AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo)
+	}
+
+	public func simpleCameraStatus() -> PrivacyAuthorizationSimpleStatus {
+		switch AVCaptureDevice.authorizationStatus(forMediaType: AVMediaTypeVideo) {
+		case .notDetermined:
+			return .notDetermined
+		case .restricted, .denied:
+			return .unauthorized
+		case .authorized:
+			return .authorized
+		}
 	}
 
 	public func speechRecognizerStatus() -> SFSpeechRecognizerAuthorizationStatus? {

	func notify(_ type: PrivacyAuthorizationType) {
		NotificationCenter.default.post(name: PrivacyAuthorizationNotification.AuthorizationChanged, object: type)
	}

	/*
		Requires plist string NSCalendarsUsageDescription

	case location
}

public enum PrivacyAuthorizationSimpleStatus {
	case notAvailable
	case notDetermined
	case authorized
	case unauthorized
}

public struct PrivacyAuthorizationStatus {
	let eventStatus: PrivacyAuthorizationSimpleStatus
	let reminderStatus: PrivacyAuthorizationSimpleStatus
	let photosStatus: PrivacyAuthorizationSimpleStatus
	let mediaStatus: PrivacyAuthorizationSimpleStatus
	let microphoneStatus: PrivacyAuthorizationSimpleStatus
	let siriStatus: PrivacyAuthorizationSimpleStatus
	let cameraStatus: PrivacyAuthorizationSimpleStatus
	let speechRecognizerStatus: PrivacyAuthorizationSimpleStatus
	let locationStatus: PrivacyAuthorizationSimpleStatus
}

public struct PrivacyAuthorizationNotification {
	public static let AuthorizationChanged = NSNotification.Name("PrivacyAuthorizationNotification_AuthorizationChanged")
}
