# Consent Management Support Matrix

This guide details RudderStack's consent management integration support across different SDKs and sources.

## Pre-consent user tracking

Pre-consent user tracking is only available in the [JavaScript SDK v3]({{< ref "sources/event-streams/sdks/rudderstack-javascript-sdk/" >}}).

## Integrations support

Irrespective of the source or destination, RudderStack honors the consent ID values included in `context.consentManagement` in event payloads. Only some SDK/provider combinations add this object automatically.

You can also add the consent data to event payloads [manually]({{< ref "data-governance/consent-management/passing-consent.md" >}}) to apply the filtering logic (allow or block) on downstream destinations. This is required for server-side SDKs, HTTP source, and SDK/provider combinations that do not have native integrations. RudderStack supports manual consent payloads **only** for [cloud mode]({{< ref "destinations/rudderstack-connection-modes.md#cloud-mode" >}}) destinations.

The following table lists SDK/provider combinations that automatically append consent data to your events. All other combinations require passing `context.consentManagement` manually.

## Support matrix

<table>
	<tbody>
		<tr>
			<th>Source</th>
			<th>OneTrust</th>
			<th>Ketch</th>
			<th>iubenda</th>
			<th>Custom</th>
		</tr>
		<tr>
			<td><a href="https://rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/">JavaScript SDK (v3)</a></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/archive/javascript-sdk/1.1/">JavaScript SDK</a><br /><br />(older versions)</td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td colspan="2"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-android-sdk/">Android (Java) SDK</a><br/><span style="color:#E11515;font-size:12.5px;">Deprecated</span></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td colspan="3"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-ios-sdk/">iOS (Obj-C) SDK</a><br/><span style="color:#E11515;font-size:12.5px;">Deprecated</span></td>
			<td><i class="fa-solid fa-circle-check fa-xl" style="color: #2F965D;"></i></td>
			<td colspan="3"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/kotlin-sdk/">Android (Kotlin) SDK</a></td>
			<td colspan="4"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/swift-sdk/">iOS (Swift) SDK</a></td>
			<td colspan="4"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/sdks/#server">Server-side SDKs</a></td>
			<td colspan="4"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
		<tr>
			<td><a href="https://www.rudderstack.com/docs/sources/event-streams/http/">HTTP Source</a></td>
			<td colspan="4"><center>Through <a href="https://rudderstack.com/docs/data-governance/consent-management/passing-consent/">event context</a></center></td>
		</tr>
	</tbody>
</table>

