01must proveProposed | Credential values remain in secret storage and are absent from screens, answers, records and logs; reads expose method, entry and expiry dates, scopes, refresh state and a four-character hint only for keys longer than eight characters. | invariant | api, service | test |
02must proveProposed | Entering, replacing or authorizing credentials requires the separate credentials permission, while integration read permits inspection of non-secret facts. | permission | api | test |
03must proveProposed | Entered credentials must match the connection’s method and its exact declared fields, with at most twenty fields, one hundred characters per field name and 8192 characters per value; rejection stores and logs no secret. | validation | api, service | test |
04must proveProposed | Calls immediately use a replacement credential, while the superseded secret remains recoverable for seven days before destruction and has no scheduled rotation requirement. | lifecycle | service | test |
05must proveProposed | Credential entry starts verification and moves waiting, failed-verification or re-authorization-required connections to verifying; other states remain, and suspended connections start no check. | lifecycle | service | observed |
06must proveProposed | The broker lends credential values in memory for a specific execution and adapter, for five minutes by default and at most sixty, with value-free audit and accepted access only; suspension refuses a lease and verifying is permitted only for verification. | policy | service | test |
07must proveProposed | Only the issuing adapter principal may renew a lease for its own connection while its execution remains running. | permission | service | test |
08must proveProposed | Rhythm begins OAuth authorization with a proof key and a single-use state tied to the person and connection for ten minutes, requesting only accepted-capability scopes; entered-key methods are refused. | policy | service | test |
09must proveProposed | The public OAuth callback saves tokens and returns to the connection page only for valid issued state; unknown, expired, consumed or forged state returns a page asking the person to restart. | validation | api, service | test |
10must proveProposed | Re-authorization starts OAuth for a sign-in connection, asks a key connection for replacement credentials and tells a platform-account connection that no re-authorization is needed. no proof recorded yet | policy | api, service | test |
11must proveProposed | The minute refresh pass handles tokens expiring within ten minutes, serializes refresh by connection and moves a refused refresh to re-authorization required with an administrator notice. | lifecycle | service | test |
12must proveProposed | Daily maintenance records revoked or superseded credentials as destroyed after secret deletion, sends one notice per refresh-token expiry within fourteen days and removes sign-in attempts abandoned for over a day. | lifecycle | service | test |
13must proveProposed | The service keeps credential records within fifty by removing the oldest unreferenced destroyed entries, refuses a new credential if that cannot free enough room and never revives a destroyed credential. no proof recorded yet | invariant | service | observed |
14must proveProposed | Stored credentials contain at most one hundred authorization scopes. | validation | database | observed |