Platform · Security

Every action asks permission first

Access control is not a feature you add later. In BizBlocks it is an attribute on the action, which means a screen cannot ship without someone deciding who is allowed to use it.

The model

Permissions that read like your business

A permission is named in plain language on the action itself, then granted through roles that are scoped by department. The framework builds the permission catalog by reflecting over the application, so the admin screens always match the code.

  • Roles and departments

    Users hold roles per department, so a regional manager sees only their region.

  • Multi-factor and lockout

    Verification codes with attempt limits, plus account lockout and password policy.

  • Single sign on

    Google, Microsoft and Facebook sign in, configured per tenant, with an extensible provider model.

  • Audit trail

    Row level change history, user events, request logs and system logs, per tenant.

Read the security docs →
DispatchController.cs
// The permission is part of the action
[ActionAuthorize("Manage Dispatch")]
public IActionResult Board() => View();

[ActionAuthorize("Create Invoice")]
public async Task<IActionResult> Bill(Job job)
{
    ValidateDepartment(job.DeptId);
    return Json(await _svc.Bill(job));
}
Administrator Regional manager Dispatcher Read only
Tenancy

One codebase, many companies

A company key isolates each tenant's data, with its own subdomain, branding, users and audit trail. It is how a franchise network runs every location on one deployment.

Company isolation

Business records carry a company key, and queries scope to the current tenant. Shared reference data lives on a global company.

Department hierarchy

Companies nest into departments, and roles and reports can be scoped down to them.

API access

JWT tokens, refresh tokens, scoped API keys and guest tokens for portals and mobile clients.

Next step

See it running on your own subdomain

Spin up a branded BizBlocks environment in seconds, or tell us how your business works and we will scope it with you.