# Customize Report Fields

You can control which attachment types are available, set a disclaimer, and (on iOS) set a minimum character count for comments.

### Attachment types

Enable or disable screenshot, extra screenshot, gallery image, and screen recording:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setEnabledAttachmentTypes(
    screenshot = true,
    extraScreenshot = true,
    galleryImage = true,
    screenRecording = true
)
```

{% endcode %}

### Auto screen recording

You can enable automatic screen recording and (on iOS) set the maximum duration:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setAutoScreenRecordingEnabled(true)
// iOS only
BugReportingKmp.setAutoScreenRecordingDurationIOS(seconds = 30)
```

{% endcode %}

### View hierarchy

Include or exclude view hierarchy capture in reports:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setViewHierarchyEnabled(true)
```

{% endcode %}

### Disclaimer text

Show a disclaimer before the user sends a report:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setDisclaimerText("By submitting you agree to our privacy policy.")
```

{% endcode %}

### Comment minimum character count (iOS)

On iOS you can require a minimum number of characters in the comment field:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setCommentMinimumCharacterCount(limit = 10, reportTypes = listOf(ReportType.Bug))
// null reportTypes = applies to all report types
BugReportingKmp.setCommentMinimumCharacterCount(limit = 5, reportTypes = null)
```

{% endcode %}

This is a no-op on Android.

### User consent

Add a consent step to the bug reporting flow (e.g. for privacy or terms). You can make it mandatory and optionally apply an action when selected:

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.addUserConsent(
    key = "privacy_consent",
    description = "I agree to share my data for support purposes.",
    mandatory = true,
    checked = false,
    action = UserConsentActionType.DropLogs  // optional: e.g. drop logs when accepted
)
```

{% endcode %}

`UserConsentActionType` can be: `DropAutoCapturedMedia`, `DropLogs`, `NoChat`.

### Invocation options

Set default invocation options (e.g. require comment, hide thank-you dialog, email field behavior):

{% code title="Kotlin" %}

```kotlin
BugReportingKmp.setInvocationOptions(listOf(
    InvocationOptions.CommentFieldRequired,
    InvocationOptions.EmailFieldOptional
))
```

{% endcode %}
