Description
src/app/settings/api-keys/page.tsx creates API keys with full access — there's no way to issue a read-only key for safer third-party integrations. This issue adds scoped permissions per key.
Technical Context
Involves src/app/settings/api-keys/page.tsx. Each key gets a scope: "read" | "write" field set at creation, displayed in the key list, and enforced by src/app/api/* route handlers checking the scope before mutating operations.
Acceptance Criteria
Description
src/app/settings/api-keys/page.tsxcreates API keys with full access — there's no way to issue a read-only key for safer third-party integrations. This issue adds scoped permissions per key.Technical Context
Involves
src/app/settings/api-keys/page.tsx. Each key gets ascope: "read" | "write"field set at creation, displayed in the key list, and enforced bysrc/app/api/*route handlers checking the scope before mutating operations.Acceptance Criteria
403and a clear error body