> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liv.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Privacy & Telemetry

> What data LCK collects, how it's used, and how to configure telemetry settings for your application.

## What Data Does LCK Collect?

The LCK SDK collects telemetry and analytics data to improve the product, debug issues, and understand how developers use the SDK. This page explains what's collected, why, and how to control it.

## Types of Data Collected

### Usage Analytics

**What:** SDK feature usage, method calls, configuration choices **Why:** Understand which features are used, prioritize development **Examples:**

* Which quality presets are selected
* Recording vs. streaming mode usage
* Platform distribution (Android, Windows, Quest, etc.)
* Graphics API and render pipeline usage

### Error Reporting

**What:** Crash reports, error codes, stack traces **Why:** Identify and fix bugs, improve stability **Examples:**

* Recording failures and error codes
* Initialization errors
* Platform compatibility issues
* Performance problems

### Performance Metrics

**What:** SDK performance data, frame times, resource usage **Why:** Optimize SDK performance, detect regressions **Examples:**

* Encoding performance
* Memory usage
* Frame capture times
* GPU/CPU impact

### Configuration Data

**What:** SDK settings and environment info **Why:** Ensure compatibility, prioritize platform support **Examples:**

* Unity/Unreal version
* Graphics API (DirectX, Vulkan, Metal)
* Render pipeline (URP, HDRP, Built-in)
* Device models and OS versions
* Quality settings and resolutions

***

## What LCK Does NOT Collect

<Check>
  **No personal user data** — Names, emails, locations (except what you provide in GameInfo)
</Check>

<Check>
  **No recorded video content** — Your users' videos stay private
</Check>

<Check>
  **No gameplay data** — What happens in your game stays in your game
</Check>

<Check>
  **No microphone audio** — Audio content is not transmitted to LIV
</Check>

<Check>
  **No camera images** — Visual content is not sent to LIV servers
</Check>

***

## Tracking ID

When you initialize LCK, you provide a **Tracking ID** from the LIV Developer Dashboard:

```csharp theme={null}
var gameInfo = new GameInfo { /* ... */ };
LckCore.Initialize("your-tracking-id-here", gameInfo);
```

### What the Tracking ID Does

* Associates telemetry with your application
* Enables dashboard analytics for your game
* Helps LIV support debug issues specific to your integration

### How to Get Your Tracking ID

1. Go to [dashboard.liv.tv/dev](https://dashboard.liv.tv/dev)
2. Create or select your application
3. Copy the tracking ID from your app settings

<Info>
  Each application should have its own unique tracking ID. Don't share tracking IDs between different games.
</Info>

***

## GameInfo and Privacy

The `GameInfo` struct you pass during initialization contains:

```csharp theme={null}
var gameInfo = new GameInfo
{
    GameName = "My Awesome Game",           // Your game's name
    GameVersion = "1.0.0",                  // Your version
    ProjectName = "MyProject",              // Internal project name
    CompanyName = "My Studio",              // Your studio name
    EngineVersion = Application.unityVersion,
    RenderPipeline = "URP",
    GraphicsAPI = "DirectX11"
};
```

**What's shared:**

* Game name, version, company name (public info)
* Engine version, render pipeline, graphics API (technical config)
* Platform (Android, Windows, Quest, etc.)

**Not shared:**

* User names or accounts
* In-game player data
* Purchase history
* Personal information

***

## Controlling Telemetry

### Disable Analytics (Not Recommended)

<Warning>
  Disabling telemetry makes it harder for LIV to support your integration and may impact your ability to get help with issues.
</Warning>

If you need to disable telemetry for compliance reasons:

```csharp theme={null}
// Example: Disable telemetry (check SDK docs for actual API)
LckCore.SetTelemetryEnabled(false);
```

### What You Lose

* Dashboard analytics about your users
* Automatic error reporting
* Performance insights
* Priority support (we can't help debug what we can't see)

***

## GDPR, CCPA, and Privacy Compliance

### User Consent

LCK telemetry does **not** collect personal data that requires explicit user consent under GDPR/CCPA. The data collected (technical configs, error logs, feature usage) is considered legitimate interest for product improvement.

However, you should still:

1. Include LIV in your privacy policy
2. Mention that the app uses the LCK SDK for recording/streaming
3. Link to LIV's privacy policy: [liv.tv/privacy](https://liv.tv/privacy)

### Example Privacy Policy Language

> **Third-Party Services**
>
> This app uses the LIV Camera Kit (LCK) SDK to provide video recording and streaming features. LCK collects technical data including device information, SDK usage, and error reports to improve the service. No personal user data or recorded content is collected. For more information, see [LIV's Privacy Policy](https://liv.tv/privacy).

***

## Data Retention

| Data Type           | Retention Period | Purpose               |
| ------------------- | ---------------- | --------------------- |
| Error logs          | 90 days          | Debugging and support |
| Analytics           | 2 years          | Product improvement   |
| Performance metrics | 1 year           | Optimization          |
| Crash reports       | 90 days          | Bug fixes             |

***

## Data Processing Location

LCK telemetry data is processed and stored in:

* **United States** — Primary data centers
* **Europe** — EU data residency for GDPR compliance

Data may be transferred between regions for processing but remains subject to LIV's privacy policy and applicable data protection laws.

***

## User Rights (GDPR)

If your users want to exercise GDPR rights regarding LCK telemetry:

**Right to access:** Contact LIV support with your tracking ID **Right to deletion:** Request deletion via support ticket **Right to object:** Disable telemetry in your app

Contact: [support@liv.tv](mailto:support@liv.tv)

***

## Developer Dashboard Analytics

Your tracking ID gives you access to analytics in the [LIV Developer Dashboard](https://dashboard.liv.tv/dev):

### Available Metrics

* Daily/monthly active users
* Recording and streaming sessions
* Platform breakdown
* Error rates and types
* Quality settings distribution
* SDK version adoption

### How to Access

1. Log in to [dashboard.liv.tv/dev](https://dashboard.liv.tv/dev)
2. Select your application
3. View analytics in the "Insights" tab

***

## Security

LCK telemetry transmission:

* **Encrypted in transit** — HTTPS/TLS for all network requests
* **No sensitive data** — No passwords, tokens, or user credentials
* **Minimal payload** — Only necessary technical data
* **No video/audio** — Content never leaves the user's device

***

## Best Practices

<Check>
  **Include tracking ID** — Always initialize with your tracking ID
</Check>

<Check>
  **Update privacy policy** — Mention LCK SDK usage
</Check>

<Check>
  **Keep SDK updated** — Get latest privacy and security improvements
</Check>

<Check>
  **Monitor dashboard** — Check analytics for issues
</Check>

### Don't

<Warning>
  **Don't share tracking IDs** — Each app should have its own ID
</Warning>

<Warning>
  **Don't hardcode sensitive data** — Never put passwords/tokens in GameInfo
</Warning>

<Warning>
  **Don't disable telemetry without reason** — You lose support visibility
</Warning>

***

## Example: Privacy-Conscious Initialization

```csharp theme={null}
public class LCKManager : MonoBehaviour
{
    [SerializeField] private string trackingId;
    
    void Start()
    {
        InitializeLCK();
    }
    
    void InitializeLCK()
    {
        // Collect only necessary info
        var gameInfo = new GameInfo
        {
            GameName = Application.productName,
            GameVersion = Application.version,
            ProjectName = Application.productName,
            CompanyName = Application.companyName,
            EngineVersion = Application.unityVersion,
            RenderPipeline = GetRenderPipeline(),
            GraphicsAPI = SystemInfo.graphicsDeviceType.ToString()
        };
        
        // Initialize with tracking
        var result = LckCore.Initialize(trackingId, gameInfo);
        
        if (!result.IsOk)
        {
            Debug.LogError($"LCK init failed: {result.Message}");
        }
        
        // Optional: Log what's being sent for transparency
        Debug.Log($"LCK initialized for {gameInfo.GameName} v{gameInfo.GameVersion}");
        Debug.Log($"Platform: {Application.platform}, Engine: {gameInfo.EngineVersion}");
    }
    
    string GetRenderPipeline()
    {
        #if UNITY_PIPELINE_URP
            return "URP";
        #elif UNITY_PIPELINE_HDRP
            return "HDRP";
        #else
            return "Built-in";
        #endif
    }
}
```

***

## FAQs

### Does LCK collect IP addresses?

Server logs may contain IP addresses for debugging, but they're not stored long-term or used for tracking.

### Can users opt out of telemetry?

You can disable telemetry programmatically if required by your privacy policy or user consent flows.

### What if my app is for children (COPPA)?

LCK does not collect personal information from users. However, consult legal counsel about COPPA compliance for your specific use case.

### Do I need a data processing agreement?

LIV provides a DPA for enterprise customers. Contact [business@liv.tv](mailto:business@liv.tv) for details.

### How do I report a privacy concern?

Email [privacy@liv.tv](mailto:privacy@liv.tv) with details.

***

## Changes to Data Collection

LIV may update data collection practices in future SDK versions. Major changes will be:

* Announced in release notes
* Documented in updated privacy policy
* Opt-in for sensitive new data types

Always review release notes when updating the SDK.

***

## Related

* [GameInfo](/api-reference/unity/structs/core/GameInfo) — What gets sent during initialization
* [LckCore.Initialize](/api-reference/class/core/LckCore#initialize) — How to initialize with tracking ID
* [LIV Privacy Policy](/data-privacy-and-telemetry) — Full privacy policy
* [Developer Dashboard](https://dashboard.liv.tv/dev) — View your analytics
* [Support](mailto:support@liv.tv) — Contact for privacy questions
