Desk Entrar

Jerarquía de tiers y permisos

Documentación técnica Actualizado 24 jun 2026

Resumen

Cinco tiers ordenados por rango numérico; can_actor_modify_target(actor, target) exige tier_rank(actor) > tier_rank(target) para mutaciones sobre otro usuario.

Jerarquía

Tier Rank Uso
free 0 Default
pro 1 Plan de pago
tester 2 Beta features
staff 3 Desk staff, wiki editor
admin 4 Gestión total

Implementación: apps/folks/auth/tiers.pyTIER_RANK, VALID_TIERS, MANAGEMENT_TIERS.

can_actor_modify_target

def can_actor_modify_target(actor_tier, target_tier) -> bool:
    return tier_rank(actor_tier) > tier_rank(target_tier)

Staff no puede modificar staff/admin. Admin puede modificar todos excepto degradarse a sí mismo en operaciones sensibles.

DESK_ASSIGNABLE_TIERS

  • Actor free/pro/tester/staff: puede asignar free, pro, tester.
  • Actor admin: además puede asignar staff.

Invariantes

  • Unique index: solo un admin activo en DB (convención operativa).
  • Soft delete: deleted_at en users — usuario eliminado no autentica.
  • Audit log en Desk registra cambios de tier y acciones staff.

Ver también