# Reo.Dev JavaScript Cookies and Consent Guide

This guide provides an essential understanding of how Reo.Dev uses cookies, their implementation, and best practices for cookie consent management. Whether you integrate Reo.Dev’s JavaScript on your website, product, or documentation, this document simplifies the nuances of cookies while offering recommendations to ensure compliance with global privacy regulations.

***

### What Cookies Does Reo.Dev Use?

Reo.Dev’s JavaScript tracking leverages **first-party cookies** to:

* **Identify Returning Developers**: Recognize and link developer interactions across multiple sessions.
* **Track Session Activities**: Record session data such as visited pages & code interactions.
* **Aggregate Developer Behavior**: Analyze aggregated developer activity to provide actionable insights like [Dev Funnels.](/accounts/developer-funnel-stages.md)

***

### Key Features of Reo.Dev Cookies

1. **Anonymous Data Collection**: Cookies collect anonymized data (e.g., browser type, timestamps, interaction data) without storing personally identifiable information (PII).
2. **First-Party Cookies**: Data stays tied to your domain and is not shared across unrelated platforms or third parties.

<table><thead><tr><th width="110.07421875">ID</th><th width="105.921875">Duration</th><th width="263.16015625">Description</th><th width="99.02734375">Type</th><th>Use</th></tr></thead><tbody><tr><td>__sec__cid</td><td>300 days</td><td>this cookie stores the client key</td><td>1st party</td><td>Essential, functional</td></tr><tr><td>__sec__fid</td><td>300 days</td><td>this cookie stores a unique userid generated for user to track one’s site usage</td><td>1st party</td><td>Essential, functional</td></tr><tr><td>__sec__ghost</td><td>300 days</td><td>this a composite ID that is derived from __fid and __cid and helps identifying the user uniquely</td><td>1st party</td><td>Essential, functional</td></tr><tr><td>__sec__token</td><td>300 days</td><td>this cookie stores an active token, essential for calls to reo servers</td><td>1st party</td><td>Essential, functional</td></tr><tr><td>__sec__crid</td><td>300 days</td><td>this cookie stores an accompanying id which when used in conjunction to __fid helps identify a user with better confidence</td><td>1st party</td><td>Essential, functional</td></tr><tr><td>__sec__tid</td><td>300 days</td><td>this cookie stores an identifier to help analyse a returning user</td><td>1st party</td><td>Performance / Marketing, Analytics</td></tr></tbody></table>

***

### **Recommended Placement of Reo.Dev JavaScript**

{% hint style="success" %}
**Load Reo.Dev’s JavaScript&#x20;*****AFTER*****&#x20;the Cookie Banner**
{% endhint %}

For compliance and **proper functionality**, we strongly recommend **loading the Reo.Dev JavaScript only after the cookie consent banner** has been processed. This ensures that the script is executed **only if the user has accepted Performance Cookies**.

#### **Implementation Best Practices**

* Place the **Reo.Dev JS after the cookie consent script** in the HTML structure.
* Ensure the cookie consent solution allows for **conditional loading** of Performance Cookies before executing the Reo.Dev script.
* If the user **does not consent** to Performance Cookies, the Reo.Dev script **should not be loaded**.

***

### **Explicit Consent & Compliance**

Reo.Dev **does not control whether cookies are enabled or disabled**—this decision is entirely managed by the **host website’s cookie consent implementation**.

* **Ensure that disabling “Performance Cookies” prevents the script from running.**
* **Users do not need to take additional action** once the consent framework is properly configured.

#### **Periodic Audits**

Regularly review your **cookie settings** and ensure compliance with privacy laws such as **GDPR and CCPA**.

***

### Content Security Policy (CSP) Considerations

If your website uses a strict Content Security Policy (CSP), you may need to update it to allow our script to load and execute correctly. Please ensure the following directives are updated to include our domains:

**Required CSP Directives**

```javascript
script-src https://static.reo.dev;
connect-src https://api.reo.dev;
```

***

### **FAQs**

<details>

<summary>1. Will Reo.Dev’s Cookies Impact Site Performance?</summary>

No. Reo.Dev cookies are lightweight and optimized to minimize impact on site performance.

</details>

<details>

<summary>2. Does Reo.Dev Share Cookie Data with Third Parties?</summary>

No. All data remains within your Reo.Dev instance and is not shared externally.

</details>

<details>

<summary>3. Under Which Cookie Category Should Reo.Dev Be Placed?</summary>

Reo.Dev's JavaScript tracking should be categorized under Performance / Marketing Cookies, as its primary function is developer behavior analytics.

</details>

<details>

<summary>4. Do I Need a Cookie Banner for Reo.Dev’s Script?</summary>

While not mandatory, a cookie banner is strongly recommended to ensure compliance with GDPR, CCPA, and other regulations.\
Transparency builds trust with your users, ensuring they understand what data is collected and why.

</details>

<details>

<summary>5. What Happens If I Load Reo.Dev JavaScript Before the Cookie Banner?</summary>

If Reo.Dev’s JS is loaded before the cookie banner, tracking may start before the user provides consent, which could result in compliance risks.

**Solution:** Always ensure Reo.Dev JavaScript loads AFTER the cookie consent is processed.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.reo.dev/reo.dev-javascript-cookies-and-consent-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
