Skip to content
Back to skills

Identity Permissions Tenancy

ASecurity

"Operate on BiSheng JWT auth, RBAC/ReBAC/OpenFGA permissions,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentpythongobashsqlreactfastapiapifrontendbackendperformance

Works with

  • cursor
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill identity-permissions-tenancy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Identity Permissions Tenancy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Identity Permissions Tenancy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-identity-permissions-tenancy/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-identity-permissions-tenancy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: identity-permissions-tenancy
description: "Operate on BiSheng JWT auth, RBAC/ReBAC/OpenFGA permissions,
  tenant isolation, admin scope, approval center, commercial gateway
  integration, and cursor permission performance."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# identity-permissions-tenancy

Use this sub-skill when a task touches BiSheng authentication, authorization, resource ownership, OpenFGA/ReBAC, RBAC menu permissions, multi-tenant isolation, admin scope, approval workflows, SSO/org sync, commercial gateway behavior, or cursor-pagination permission performance.

## Start here

Run bundled helper commands from this sub-skill directory, or adjust the script path to this directory after import.


1. Run the read-only pattern checker before or after a permission/tenant-sensitive edit:
   ```bash
   python scripts/check_arch_rules.py --repo-root <bisheng-checkout>
   ```
2. Read [references/workflows.md](references/workflows.md) for auth, PermissionService, tenant ContextVar, gateway, approval, and cursor workflows.
3. Read [references/troubleshooting.md](references/troubleshooting.md) for missing permissions, invisible resources, tenant leaks, SSO/gateway, and cursor list failures.

## Owned responsibilities

- JWT/auth user loading, menu keys, and role/user/group relationships.
- PermissionService, OpenFGA/ReBAC model, failed tuple retry, owner grants, relation models, and resource authorization.
- Tenant ContextVar, SQLAlchemy tenant filter, tenant storage prefixes, tenant tree/admin scope, user-tenant membership, and quota hierarchy.
- Approval center and menu-approval mode when they affect access decisions.
- Commercial gateway integration, SSO/OAuth/LDAP/WeCom org sync, sensitive-word gateway filters, and rate/online limits.
- Cursor pagination patterns where permission filtering and DM8 keyset compatibility determine list correctness.

## Route sibling areas instead of duplicating them

- Use `backend-core` for generic FastAPI routes, schemas, service layering, and non-permission models.
- Use `frontend-apps` for React route guards and UI rendering after the backend permission contract is known.
- Use `knowledge-rag` for parser/vector/retrieval internals after visibility is proven correct.
- Use `workflow-engine` for graph execution after app visibility and permissions are proven correct.
- Use `deployment-maintenance` for running operational backfill/migration scripts.

## Non-negotiables

- New resource authorization must go through PermissionService/OpenFGA-aware services; do not add direct role-access table shortcuts.
- Resource creation must write owner/authorization tuples or enqueue failed tuple compensation as designed.
- ORM tenant filtering applies to SELECT; raw SQL and bulk update/delete require explicit tenant-safe handling.
- Use tenant bypass helpers only for intentional cross-tenant maintenance reads/writes.
- Cursor pagination under permission filtering must advance by the last DB row, not the last visible row.
- Frontend 403 and menu visibility bugs should not be patched until backend/menu/plugin permission data is understood.

Files in this skill

  • SKILL.md3.1 KB
  • references/troubleshooting.md2.8 KB
  • references/workflows.md4.5 KB
  • scripts/check_arch_rules.py2.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.