Skip to content

SYSTEM_FIELD_KEYS

const SYSTEM_FIELD_KEYS: Set<string>

Defined in: packages/core/src/access/resolveFieldPermissions.ts:23

Document keys Convex owns that a caller can never WRITE (never present in an insert/patch payload, so the write-path field-permission diff skips them unconditionally — hasPermission.ts), and that a declared where clause referencing them never needs a read-permission check for (matchDeclaredSavedListViewFilter.ts/saveView/server.ts) — same reasoning resolveQueryIndex.ts’s own _creationTime SORT carve-out already establishes: a comparison against one of these doesn’t reveal the stored value the way returning it in a document would.

Deliberately NOT the same set stripDeniedFields/ warnOnUndeclaredFields use for READ gating — see ALWAYS_READABLE_FIELD_KEYS for that narrower set. _creationTime is a REAL gateable field-permission key for READS (developer decision, binding, “access-system-fields”) but stays write-immutable and where-clause-exempt here; the two concerns are independent axes.