# Nord Staff Integration

Nord Inventory is designed to integrate with **Nord Staff** as part of the Nord Lab ecosystem.

## Integration model

The integration is API/bridge based rather than a hard dependency inside `nord_inventory`. This means:

- Nord Inventory can run without Nord Staff.
- Nord Staff can use Nord Inventory for staff-side inventory operations when its inventory bridge is configured/detected as Nord.
- Inventory state changes remain server-authoritative inside Nord Inventory.
- No administrator license identifiers need to be exposed to Nord Staff or to the client.

## Recommended start order

```cfg
ensure oxmysql
ensure nord_inventory
ensure nord_staff
```

If a framework is used, start it before Nord Inventory.

## Typical staff-side capabilities

Through the Nord Inventory API, a staff system can perform operations such as:

- read a player's item count;
- give or remove items;
- check carry capacity;
- inspect slots and metadata;
- open inventory views through authorized server logic;
- update metadata or durability through trusted server actions.

Example server-side operation:

```lua
local canCarry = exports.nord_inventory:CanCarryItem(target, 'water', 2)
if canCarry then
    exports.nord_inventory:AddItem(target, 'water', 2)
end
```

## Permission separation

Nord Staff permissions and Nord Inventory Admin Studio permissions are separate security layers. A user who is staff in another resource should only receive direct `/norditems` access when they also pass Nord Inventory's ACE/license rules.

This separation prevents a client-side staff state from becoming inventory administrator authority.