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

# Protege tus claves API de Solana: prácticas recomendadas de seguridad

> Protege tus claves API de Helius para Solana contra actores maliciosos. Usa reglas de control de acceso, un proxy RPC y prácticas recomendadas de seguridad para evitar el uso y los cargos no autorizados.

<Warning>
  **Alerta de seguridad de claves API**: Las claves API expuestas pueden provocar uso no autorizado, agotamiento de la cuota y cargos inesperados. Protege siempre tus claves en las aplicaciones de producción.
</Warning>

## Por qué es importante proteger las claves

Cuando expones claves API en el lado del cliente, los actores maliciosos pueden descubrirlas y usarlas de forma indebida, lo que podría:

<CardGroup cols={2}>
  <Card title="Exhaust Your Quota" icon="gauge-high">
    El uso malicioso puede consumir rápidamente los límites de tu API y causar interrupciones del servicio
  </Card>

  <Card title="Increase Your Bills" icon="credit-card">
    Las solicitudes no autorizadas pueden generar cargos por escalado automático o hacer que superes los límites del plan
  </Card>

  <Card title="Compromise Security" icon="shield-exclamation">
    Las claves expuestas pueden dar acceso a datos y operaciones confidenciales
  </Card>

  <Card title="Damage Performance" icon="triangle-exclamation">
    Un uso elevado no autorizado puede afectar el rendimiento de tu aplicación
  </Card>
</CardGroup>

## Métodos de protección

Helius ofrece varias capas de protección para mantener seguras tus claves API:

<Tabs>
  <Tab title="RPC Proxy">
    Implementa tu propio proxy para obtener la máxima seguridad y control.

    <Card title="Helius RPC Proxy" icon="github" href="https://github.com/helius-labs/helius-rpc-proxy">
      Un proxy RPC sencillo y de código abierto que puedes implementar en Cloudflare con un solo clic.
    </Card>

    ### Ventajas de usar un proxy

    <CardGroup cols={2}>
      <Card title="Complete Key Protection" icon="lock">
        Tu clave API permanece en el servidor y nunca se expone a los clientes
      </Card>

      <Card title="Custom Rate Limiting" icon="gauge">
        Implementa tus propios límites de velocidad y controles de uso
      </Card>

      <Card title="Request Filtering" icon="filter">
        Filtra y valida las solicitudes antes de que lleguen a Helius
      </Card>

      <Card title="Usage Analytics" icon="chart-line">
        Supervisa y analiza los patrones de uso de tu API
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Access Control Rules">
    Configura controles de acceso precisos en tu panel de Helius para restringir el uso de la API.

    <Frame caption="Configure RPC Access Control Rules in the RPCs section of your dashboard.">
      <img src="https://mintcdn.com/helius/OOj8B_dUNruGiNi2/images/rpc-access-control-rules.png?fit=max&auto=format&n=OOj8B_dUNruGiNi2&q=85&s=efa87187842a3f3c6e154a0f4e110652" alt="Configure RPC Access Control Rules in the RPCs section of your dashboard." width="3720" height="2094" data-path="images/rpc-access-control-rules.png" />
    </Frame>

    ### Tipos de reglas disponibles

    <AccordionGroup>
      <Accordion title="Allowed Domains">
        Restringe el acceso a dominios específicos; es perfecto para aplicaciones web.

        **Casos de uso:**

        * Sitios web de producción (`yourdapp.com`)
        * Entornos de preproducción (`staging.yourdapp.com`)
        * Implementaciones de vista previa (`preview.yourdapp.com`)

        **Ejemplo de configuración:**

        ```
        yourdapp.com
        www.yourdapp.com
        staging.yourdapp.com
        ```
      </Accordion>

      <Accordion title="Allowed IPs">
        Restringe el acceso a direcciones IP específicas; es ideal para aplicaciones de servidor.

        **Casos de uso:**

        * Servidores backend con IP estáticas
        * Procesos de CI/CD
        * Servicios alojados en la nube

        **Ejemplo de configuración:**

        ```
        203.0.113.1
        198.51.100.42
        185.199.108.153
        ```

        <Note>
          Aquí solo funcionan las direcciones IP públicas. Las IP privadas o locales (como 192.168.x.x o 10.x.x.x) no funcionan.
        </Note>
      </Accordion>

      <Accordion title="Allowed CIDRs">
        Restringe el acceso a intervalos de IP mediante la notación CIDR; es una excelente opción para redes empresariales.

        **Casos de uso:**

        * Intervalos de IP públicas corporativas
        * Intervalos de IP de proveedores de nube
        * Bloques de IP de centros de datos

        **Ejemplo de configuración:**

        ```
        203.0.113.0/24
        198.51.100.0/24
        185.199.108.0/22
        ```

        <Note>
          Aquí solo funcionan los intervalos de IP públicas. Los bloques CIDR privados (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) no funcionan.
        </Note>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Secure URL">
    Usa nuestra URL segura en aplicaciones frontend sin exponer tu clave API.

    <Info>
      **Con límite de velocidad**: Las URL seguras tienen un límite de 5 solicitudes por segundo (RPS) por dirección IP, lo que las hace perfectas para aplicaciones frontend.

      **Solo para planes de pago**: Las URL seguras están disponibles en los planes de pago. Los planes gratuitos no incluyen esta función.
    </Info>

    ### Cómo usar las URL seguras

    <Steps>
      <Step title="Get Your Secure URL">
        Busca tu URL segura en la sección RPCs del panel de Helius
      </Step>

      <Step title="Replace Your Regular RPC URL">
        Usa la URL segura en lugar de tu URL RPC habitual con clave API
      </Step>

      <Step title="No API Key Required">
        La URL segura no requiere un parámetro de clave API
      </Step>
    </Steps>

    ```javascript theme={"system"}
    // Instead of this (exposes API key):
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY');

    // Use this (secure, no API key exposed):
    const connection = new Connection('https://your-secure-url.helius-rpc.com');
    ```

    <Note>
      **Perfecto para**: Aplicaciones frontend, aplicaciones móviles y cualquier código del lado del cliente donde no puedas ocultar la clave API.
    </Note>
  </Tab>
</Tabs>

## Prácticas recomendadas

<CardGroup cols={1}>
  <Card title="Environment Variables" icon="code">
    Nunca codifiques las claves API directamente en tu código fuente. Usa variables de entorno.

    ```javascript theme={"system"}
    // ❌ Don't do this
    const apiKey = "your-api-key-here";

    // ✅ Do this instead
    const apiKey = process.env.HELIUS_API_KEY;
    ```
  </Card>

  <Card title="Separate Keys for Different Environments" icon="layers">
    Usa claves API diferentes para los entornos de desarrollo, preproducción y producción.

    ```javascript theme={"system"}
    const getApiKey = () => {
      switch (process.env.NODE_ENV) {
        case 'production':
          return process.env.HELIUS_API_KEY_PROD;
        case 'staging':
          return process.env.HELIUS_API_KEY_STAGING;
        default:
          return process.env.HELIUS_API_KEY_DEV;
      }
    };
    ```
  </Card>

  <Card title="Regular Key Rotation" icon="arrows-rotate">
    Rota tus claves API periódicamente y de inmediato si sospechas que se han vulnerado.

    <Steps>
      <Step title="Generate New Key">
        Crea una nueva clave API en tu panel de Helius
      </Step>

      <Step title="Update Applications">
        Actualiza todas las aplicaciones para que usen la clave nueva
      </Step>

      <Step title="Test Thoroughly">
        Asegúrate de que todos los servicios funcionen con la clave nueva
      </Step>

      <Step title="Revoke Old Key">
        Elimina la clave anterior de tu panel
      </Step>
    </Steps>
  </Card>

  <Card title="Monitor Usage" icon="chart-line">
    Revisa periódicamente el uso de tu API en el panel de Helius para detectar patrones inusuales.

    **Señales de alerta que debes vigilar:**

    * Aumentos repentinos del uso
    * Solicitudes desde ubicaciones inesperadas
    * Tasas de error elevadas
    * Uso fuera del horario habitual
  </Card>
</CardGroup>

## Lista de verificación de seguridad

<AccordionGroup>
  <Accordion title="✅ Development Security">
    * [ ] Usa variables de entorno para las claves API
    * [ ] Nunca envíes claves API al control de versiones
    * [ ] Usa claves diferentes para cada entorno
    * [ ] Configura reglas de control de acceso para los dominios de desarrollo
    * [ ] Usa URL seguras para el desarrollo frontend
  </Accordion>

  <Accordion title="✅ Production Security">
    * [ ] Implementa reglas de control de acceso adecuadas
    * [ ] Usa un proxy RPC para obtener la máxima seguridad
    * [ ] Supervisa periódicamente el uso de la API
    * [ ] Configura alertas para patrones de uso inusuales
    * [ ] Rota las claves periódicamente
    * [ ] Documenta tus procedimientos de seguridad
  </Accordion>

  <Accordion title="✅ Emergency Response">
    * [ ] Ten listo un procedimiento de rotación de claves
    * [ ] Aprende a revocar rápidamente las claves vulneradas
    * [ ] Supervisa posibles brechas de seguridad
    * [ ] Ten a mano la información de contacto del soporte de Helius
    * [ ] Conserva copias de seguridad de tus configuraciones de seguridad
  </Accordion>
</AccordionGroup>

## Errores comunes que debes evitar

<Warning>
  **Evita estos errores comunes de seguridad:**

  1. **Codificar claves directamente en el JavaScript del frontend** - Usa siempre URL seguras o proxies
  2. **Enviar claves a repositorios de Git** - Usa variables de entorno y `.gitignore`
  3. **Usar claves de producción para el desarrollo** - Usa claves distintas para cada entorno
  4. **No establecer reglas de control de acceso** - Configura siempre restricciones de dominio o IP
  5. **Ignorar patrones de uso inusuales** - Supervisa tu panel periódicamente
</Warning>

## ¿Necesitas ayuda?

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Obtén ayuda de la comunidad y del equipo de Helius
  </Card>

  <Card title="Support Team" icon="headset" href="/docs/es/support">
    Contacta a nuestro equipo de soporte si tienes dudas de seguridad
  </Card>
</CardGroup>
