MyBotBoxMyBotBox
Architecture

Multi-tenencia

Organizaciones, espacios de trabajo, flujos de trabajo, el modelo de permisos y el identificador YID.

MyBotBox es multi-tenant desde su base. Tres entidades anidadas definen cada límite, y una única tabla de permisos controla quién puede acceder a qué.

La jerarquía

flowchart TB
    classDef actor fill:#FF6B35,stroke:#C2410C,color:#fff
    classDef tenant fill:#00D4AA,stroke:#0F766E,color:#06302B
    classDef wf fill:#3B82F6,stroke:#1E40AF,color:#fff
    classDef acl fill:#8B5CF6,stroke:#6D28D9,color:#fff

    U(["User · YID"]):::actor

    subgraph ORG["Organization — billing & team boundary"]
        M["member<br/>owner / admin / member / viewer"]:::tenant
        SUB["subscription<br/>Free · Starter · Pro · Enterprise"]:::tenant
    end

    subgraph WS["Workspaces"]
        PRIV["Private<br/>ownerId = you"]:::tenant
        SHARED["Shared<br/>granted access"]:::tenant
    end

    subgraph WORK["Workflow"]
        WF["workflow"]:::wf
        DEP["deployment version<br/>(immutable)"]:::wf
        EX["executions + logs"]:::wf
    end

    PERM{{"permissions<br/>userId · entityType · entityId · type"}}:::acl

    U --> M
    U --> PRIV
    PERM -. grants .-> SHARED
    PRIV --> WF
    SHARED --> WF
    WF --> DEP --> EX
    SUB -. meters .-> EX
EntidadDescripción
OrganizaciónEl límite de facturación y equipo. Contiene la suscripción, los miembros, la identidad de marca y el SSO.
Espacio de trabajoUn contenedor de proyectos. Un espacio de trabajo privado es uno que tú posees; un espacio de trabajo compartido es uno al que accedes mediante un permiso concedido.
Flujo de trabajoVive dentro de un espacio de trabajo. Se despliega en una versión inmutable; las ejecuciones y los registros quedan asociados a él.

Permisos

El acceso está gobernado por una única tabla permissions — una fila por (userId, entityType, entityId) con un nivel de permiso de read, write o admin. Los grupos de permisos permiten que un administrador de la organización otorgue un conjunto de accesos de una vez y los asigne automáticamente cuando un miembro se une. Consulta la Guía de permisos para la vista orientada al miembro.

Cada consulta y cada ejecución de flujo de trabajo está delimitada por workspaceId y organizationId. No existe una ruta de lectura entre tenants — un flujo de trabajo solo puede acceder a datos dentro de su propio límite.

YID — el identificador entre productos

Cada usuario recibe un YID inmutable al registrarse: yid_<base62_11chars>_<YYYYMMDD> (por ejemplo, yid_aB3xK9mP2qR_20260417).

  • Se genera una sola vez y nunca cambia
  • El sufijo de fecha codifica la fecha de creación de la cuenta
  • Es estable en MyBotBox y en futuros productos, por lo que la identidad se federa de forma limpia

Límite de facturación

La suscripción está asociada a la organización, y el uso se mide por ejecución — cada ejecución registra su modelo, el recuento de tokens y el coste, que se acumulan en el período de facturación actual de la organización. Los límites del plan (bots, mensajes, plazas) se aplican a nivel de organización. Consulta Facturación y uso.