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

# Permisos: qué canales puede usar un agente

> Un permiso es un canal que el agente puede usar, con dos interruptores: enviar y leer. Cambialo o revocalo cuando quieras y el agente lo siente en su próximo pedido.

<Note>
  Los agentes están en **beta**. Lo que describe esta página es lo que el servidor aplica hoy.
</Note>

Un agente llega a un canal solo a través de un **permiso**. Sin permiso no hay clave, y sin clave no hay acceso.

## Qué es un permiso

Un permiso es un canal, más dos interruptores, más la clave de ese canal sellada para la clave pública del agente.

| Interruptor | Qué habilita                                                          |
| ----------- | --------------------------------------------------------------------- |
| **Envía**   | `zas_send_file`, `zas_send_note` y `zas_send_direct` en ese canal.    |
| **Lee**     | `zas_list_items`, `zas_get_item` y `zas_receive_direct` en ese canal. |

`zas_edit_item` y `zas_replace_file` necesitan los dos interruptores: leen el envío primero y después lo escriben encima.

Enviar viene por defecto cuando aprobás una vinculación. Leer es un interruptor aparte, y queda apagado hasta que lo prendas.

Son independientes. Un agente que solo envía es el caso común: deja un build o una captura en un canal y no se entera de qué más hay ahí.

<Note>
  Recibir una transferencia por Directo pide el interruptor de **lectura**, no el de envío. Escribe un archivo en la máquina donde corre el agente, y eso es una lectura del canal, vaya para donde vaya el archivo.
</Note>

## Dónde se cambian

**Configuración → Agentes.** Cada agente muestra su nombre, su harness, su host y su último envío, y abajo una fila por canal con los dos interruptores y un link para quitarlo. **Agregar un canal** abre el mismo selector que usa la página de vinculación.

Cada canal que tiene un agente también lleva una franja arriba de los envíos, con cada agente y sus interruptores. Desde ahí también podés sacar un agente del canal.

<Note>
  El cambio corre en el **próximo pedido** del agente. El servidor lee el permiso vivo cada vez, así que no hay caché que esperar.
</Note>

## Revocar

**Configuración → Agentes → el agente → Revocar.**

Se corta la sesión, se revocan sus tokens y la próxima llamada del agente responde que el dueño lo revocó.

Lo que ya envió queda donde está. Los envíos de un agente son tus envíos: vencen con el reloj de siempre y los borrás como cualquier otro.

Para achicar en vez de revocar, sacale un canal y dejale el resto.

## Los números

|                    | Sin cuenta | Plan gratis |
| ------------------ | ---------- | ----------- |
| Agentes            | Ninguno    | 5           |
| Canales por agente | —          | 5           |

En una organización, un administrador define cuántos agentes puede tener cada persona, y no hay tope de canales por agente. Mirá [Agentes en una organización](/es/agents/enterprise).

<Warning>
  Dos reglas sorprenden, así que las decimos derecho.

  **Un agente revocado sigue ocupando su lugar.** La cuenta incluye los revocados. Borrá uno para liberar el lugar.

  **Sacar un canal no libera un lugar de canal.** El alcance cuenta todos los canales que el agente tuvo alguna vez, no los que tiene ahora. Un agente que usó sus cinco canales hay que borrarlo y vincularlo de nuevo para apuntarlo a otros.
</Warning>

## Canales de una organización

Un canal que administra una organización se puede habilitar solo si esa organización prendió los agentes. El interruptor es **Permisos → Agentes en canales de la organización**, viene apagado y lo maneja un administrador.

De dónde corre el control se desprenden dos cosas:

* **El interruptor se lee en cada llamada, no al habilitar.** Apagarlo cierra en el acto todos los permisos sobre esos canales. Un permiso es solo una clave; la puerta se revisa cada vez.
* **Tu propio lugar en el canal es el techo.** Salir del canal, o salir de la organización, le cierra el acceso a tu agente diga lo que diga el interruptor.

Mientras el interruptor está apagado, los canales de una organización están fuera del alcance de cualquier agente, y el selector no los ofrece.

## Qué no puede cubrir un permiso

* **Un canal al que solo entraste.** El permiso existe sobre canales que tu cuenta posee, y sobre canales de organización que la organización abrió.
* **Tu [canal Privado](/es/using-zas/channels)** se puede habilitar como cualquier canal tuyo, pero pensalo. Es el único lugar donde nada se comparte.
* **Un canal en solo lectura.**

## Qué revisa el servidor igual

Los interruptores de la interfaz no son la única línea. Atrás:

* La API le responde a un agente en una **lista fija de rutas** y le niega todas las demás. Agregar una ruta a Zas nunca amplía por accidente lo que un agente puede hacer.
* Las reglas de la base le niegan el documento de tu cuenta, tus dispositivos y cualquier canal sin permiso de lectura activo.
* Los límites de frecuencia corren en sus propios baldes, y la derivación de claves se cobra a tu cuenta, así que diez agentes no son diez veces tu cupo.
* El servidor nunca ve la clave de un canal, el nombre de un canal ni el contenido de un envío. Eso no cambia porque el que envía sea un agente. Mirá [Cifrado](/es/concepts/encryption).

## Por dónde seguir

<CardGroup cols={2}>
  <Card title="Recomendaciones" icon="lightbulb" href="/es/agents/recommendations">
    Qué canal habilitar, y qué no enviar nunca.
  </Card>

  <Card title="Agentes en una organización" icon="building" href="/es/agents/enterprise">
    Las dos palancas de un administrador, y qué muestran.
  </Card>

  <Card title="Canales" icon="hashtag" href="/es/using-zas/channels">
    Canales privados y compartidos, y los topes por plan.
  </Card>

  <Card title="Privacidad" icon="shield" href="/es/concepts/privacy">
    La lista completa, sin rodeos.
  </Card>
</CardGroup>
