Refine function-bound postbox architecture
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
## Scope
|
||||
|
||||
This repository owns the `postbox` module: in-platform postboxes, role-organization-bound access, postbox messages, postbox directory APIs, internal and portal postbox surfaces, campaign postbox integration, postbox-owned migrations, and future `@govoplan/postbox-webui`.
|
||||
This repository owns the `postbox` module: in-platform postboxes, function-organization-bound access, postbox messages, postbox directory APIs, internal and portal postbox surfaces, campaign postbox integration, postbox-owned migrations, and future `@govoplan/postbox-webui`.
|
||||
|
||||
Postboxes are not login-bound mailboxes. They are platform-owned communication and access containers whose visibility is derived from organizational role assignments, explicit postbox bindings, and capability contracts.
|
||||
Postboxes are not login-bound mailboxes. They are platform-owned communication and access containers whose visibility is derived primarily from effective identity-to-organization-function assignments, explicit postbox bindings, and capability contracts.
|
||||
|
||||
## Local Commands
|
||||
|
||||
@@ -25,7 +25,8 @@ tools/checks/check-focused.sh
|
||||
## Working Rules
|
||||
|
||||
- Keep postbox behavior in this module, not core.
|
||||
- Derive role-organization access through core/access contracts; do not duplicate RBAC membership logic locally.
|
||||
- Resolve units and functions through Organizations and effective identity-to-function assignments through IDM. Use Core/Access for generic Postbox action authorization; do not turn a function assignment into an RBAC role merely to open its function postbox.
|
||||
- Do not duplicate identity, organization, assignment, hierarchy, or RBAC logic locally.
|
||||
- Do not import mail, files, campaign, or portal internals. Use manifests, capabilities, events, API routes, and typed DTOs.
|
||||
- Treat postbox access changes as auditable security events, especially when access changes because a role assignment changes.
|
||||
- Treat postbox access changes as auditable security events, especially when access changes because a function assignment, delegation, acting context, or generic Postbox permission changes.
|
||||
- Keep campaign delivery, file evidence, and portal usage optional behind capability boundaries.
|
||||
|
||||
Reference in New Issue
Block a user