Skip to content

fix(security): enforce generic resource ownership and lifecycle boundaries #28

Open

Description

@cb8010d6

Follow-up to #22 identified remaining generic-resource ownership gaps. Treat this as a release blocker; first iteration did not claim complete tenant isolation.

Scope:

  • Make supported generic resource roots and their ownership explicit; do not derive authorization from UI metadata registration.
  • Keep ledger/lifecycle child mutations behind dedicated business APIs.
  • Validate scalar foreign-key ownership after hooks, including safe handling of update operations and documented shared materials.
  • Protect relationship reads for pre-existing invalid links, with a read-only inventory/repair plan.

Acceptance: authorized same-company master-data workflows continue to work; foreign-company references and unsupported child access are refused for list/detail/count/create/update/delete and nested projections. Cover hook output and optional/global reference policy. No invented accounting rules or arbitrary ownership traversal. Independent review and real PostgreSQL regression evidence required.

Implementation should be isolated from supplier posting and first-company UX changes. Do not describe the product as production-ready until this and the deployment/business gates are resolved.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions