docs: define opaque payer token handling
This commit is contained in:
@@ -11,6 +11,7 @@ For every Go-related task, always invoke and follow the `golang-how-to` skill, t
|
||||
- The backend is the authority for authentication, authorization, tenant isolation, metric definitions, and data provenance.
|
||||
- Every merchant-scoped query derives merchant identity from the authenticated server-side session; never trust a client-supplied merchant identifier as authorization.
|
||||
- Cross-merchant results are minimum-cohort, anonymized aggregates only.
|
||||
- Treat `payer_card_key` as an opaque, merchant-scoped source token with unverified upstream semantics. Retain it unchanged only for internal deterministic analytics; never expose it through merchant APIs, logs, exports, or AI inputs, and never describe it as a card number or verified person identifier.
|
||||
- Use integer minor currency units or an explicitly documented fixed-precision representation; never floating point for money.
|
||||
- Interpret timezone-naive challenge timestamps as `Asia/Tehran`, preserve their source provenance, and normalize canonical database/API timestamps to UTC `timestamptz`/ISO 8601. Any change to this assumption requires a new import version and ADR.
|
||||
- Raw imports are immutable inputs; corrections are new import versions, not silent mutation.
|
||||
|
||||
Reference in New Issue
Block a user