Field reference

Every field on every Platform and Apps form: label in English and Arabic, type, whether it is required, its limits, a valid example and what the system refuses.

On this page (24)

Package record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
CodeالرمزTextYesCreate only; turned to capitals; must match capitals, digits and _ , 2-40 characters, starting with a letterX_DEMO'1abc' -> 'A package code is capitals, digits and _ (2-40).'
VersionالإصدارTextYesCreate only; semantic version major.minor.patch (optional -suffix); unique with the code1.0.0'1.4' -> 'Use a version such as 1.4.0.'; an existing code+version -> 'That version of the package is already registered.'
TitleالعنوانTextYesMax 160Demo extension package(empty) -> 'This is required.'
Artifact SHA-256بصمة SHA-256TextYesCreate only; exactly 64 hex characters (turned to lower case)64 x 'a' (aaaa...aaaa)'abc123' -> 'Give the SHA-256 of the package artifact (64 hex characters).'
OriginالمصدرTextNoMax 400; manifest packages show repo://modules/<name>https://example.test/x_demo
LicenceالترخيصTextNoMax 80MIT81 characters -> 'Keep this to 80 characters or fewer.'
Licence reviewمراجعة الترخيصRead only (set by the Licence review step)NoPending / Approved / Not required / Rejected; must be Approved or Not required before ReviewPendingApproved
Support ownerمسؤول الدعمTextConditionalMax 120; support owner OR maintainer needed before ReviewPlatform leadBoth empty, then Review -> 'Name the support owner or maintainer.'
MaintainerالمشرفRead onlyNoSet only through the API (maintainer_id, an active person)(API) an inactive user -> 'Choose an active person.'
Core versionsإصدارات النواةText (version range)NoRange grammar: '', '*', '1', '1.x', '^1.2.0', '~1.2.0', '>=1.0, <2.0'; this build is core 1.0.01>=1.0, <2.0'abc' -> ''abc' is not a version number.'; '2' saves but Review says 'X_DEMO 1.0.0 needs core 2; this build is core 1.0.0.'
Dependencies (one per line: CODE range)الاعتماديات (سطر لكل: الرمز النطاق)LinesNoMax 60 lines; each 'CODE range' (range defaults to *); code capitals/digits/_; each code onceFIN >=1.0
MDM
'fin-x 1' -> 'A package code is capitals, digits and _.'; FIN twice -> 'Each dependency once.'; 'FIN abc' -> ''abc' is not a version number.'
FilesالملفاتRead onlyNoCount of files digested (0 for an uploaded package)

Package > Licence review

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
DecisionالقرارSelectYesApproved / Not required / RejectedApprovedApproved
NoteملاحظةText areaConditionalMax 1000; required when the decision is RejectedMIT, approved by legalRejected with an empty note -> 'This is required.'

Package > Send back / Retire

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
ReasonالسببText areaConditionalMax 1000; required for Send back, optional for RetireLicence text missingSend back with no reason (API) -> 'Say why it goes back.'

Extension record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
NamespaceالنطاقTextYesCreate only; lower-cased; x_ then a letter, then letters/digits/_; 3-30 characters; unique per hookx_acme'acme' -> 'A namespace starts with x_ and is lower-case, such as x_acme.'; same namespace + hook again -> 'This namespace is already registered on that hook.'
Hook pointنقطة الربطSelectYesCreate only; partner.after_save, product.after_save, document.before_confirm, document.after_confirm, report.columns (all v1)partner.after_save(API) 'ledger.after_post' -> 'That point protects access, posting, periods, audit or tenancy. No extension can attach to it.'; unknown -> 'Choose one of the published hook points.'
NameالاسمTextYesMax 160; defaults to the namespaceAcme partner tagging
Core versionsإصدارات النواةText (range)YesSame range grammar as packages; required before Review11Empty, then Review -> 'Say which core versions it supports.'; '2' -> 'It supports core 2; this build is 1.0.0.'
Permission neededالصلاحية المطلوبةTextNoA permission code: lower-case words joined by dots; max 80contacts.edit'Contacts' -> 'A permission code, such as contacts.edit.'
Function (custom_modules.<pkg>.<module>:<function>)الدالةTextYesMax 200; must start with custom_modules. and end :function; must import at Activatecustom_modules.acme.hooks:on_save'app.services:x' -> 'The function lives under custom_modules: custom_modules.acme.hooks:on_save.'; a function that does not exist -> Activate refused 'The function cannot be loaded: ...'
Its fields (one per line: model field)حقولها (سطر لكل: النموذج الحقل)LinesNoMax 60; model must be one the hook works on; field must be <namespace>_ + 1-30 lower-case chars; each oncecontacts.partner x_acme_tier'contacts.partner name' -> 'An extension writes only its own registered fields, named x_acme_...'; 'catalogue.product x_acme_a' on partner.after_save -> 'This hook works on contacts.partner.'
Last errorآخر خطأRead onlyNoLast failure of the function (max 1000)

Release record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
TitleالعنوانTextYesMax 160October payroll fixes(empty) -> 'This is required.'
EnvironmentالبيئةSelectYesEnvironments that are not archivedSTAGING - Staging(none) -> 'Choose the environment the release goes to.'; an archived one (API) -> 'Choose an environment that is not archived.'
Release policyسياسة الإصدارSelectNoActive policies only; when left empty and exactly one active policy fits the environment's tier, it is chosen automaticallySTD - Standard(API) a draft policy -> 'Choose an active release policy.'
Migration headرأس الترحيلTextYesMax 120; comma-separated heads, sorted and de-duplicated; defaults to this build's heads; required at SubmitThis build's alembic head(s)(keep the default)Emptied, then Submit -> 'Say which migration head the release brings the schema to.'
Rollback planخطة التراجعText areaYesMax 4000; the screen marks it required; the server checks it at SubmitForward fix REL-next; else restore last verified backupEmpty, then Submit -> 'Write the rollback plan: forward fix or restore, and how.'
NotesملاحظاتText areaNoMax 10001001 characters -> 'Keep this to 1000 characters or fewer.'
Artifact hash / QA disposition / Last reasonبصمة الحزمة / قرار الجودة / آخر سببRead onlyNoArtifact hash written at Submit; QA disposition at Approve; reason by Send back / Cancel / Retire / Recover

Release > Packages tab

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
Choose package versionsاختر إصدارات الحزمCheckbox listYes1 to 200 lines; only Reviewed or Certified versions are offered; one version per codeTick two certified packages(API) none -> 'A release carries between 1 and 200 package versions.'; two versions of one code -> 'FIN is in the release twice.'; unknown id -> 'No such package version.'

Release > Approve

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
QA dispositionقرار الجودةText areaYesMax 1000UAT passed on staging 2 Oct(empty via API) -> 'This is required.'
I have read and accept the rollback planقرأت خطة التراجع وأقبلهاCheckboxYesMust be ticked(API) false -> 'Confirm you have read and accept the rollback plan.'

Release > Recover

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
OutcomeالنتيجةSelectYesForward fix (-> Recovered), Restored from backup (-> Recovered), Failed - not recovered (-> Failed)Forward fixRestored from backup
Fixing release id (forward fix)معرّف إصدار الإصلاحText (internal id)ConditionalNeeded for Forward fix: another release of the SAME environment, not cancelled/failed/retired; it is the 32-character internal id, not REL-numberREL-0002 typed as a number, or a release of another environment -> 'Name the fixing release for the same environment.'
Passed restore drill id (restore)معرّف تجربة الاستعادة الناجحةText (internal id)ConditionalNeeded for Restored from backup: a drill in state Passed (internal id)A failed drill's id -> 'A restore is evidenced by a passed restore of that backup.'

Release > Recover / Retire / Send back / Cancel

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
ReasonالسببText areaYesMax 1000(API) empty: Retire -> 'Say why the release is retired.'; Send back -> 'Say why it goes back to draft.'; Cancel -> 'Say why the release is cancelled.'

Release > Evidence > Rehearse

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
BackupالنسخةSelectNoSucceeded, not pruned backups (newest 50); empty = Newest backupNewest backupNo stored backup exists -> 'Choose a stored, successful backup.'

Environment record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
CodeالرمزTextYesCreate only; capitals, digits, _ (2-40); uniqueSTAGING'stg-1' -> 'A code is capitals, digits and _.'; duplicate -> 'An environment with that code exists.'
NameالاسمTextYesMax 120Staging server
TierالمستوىSelectYesDevelopment / Staging / Production / RecoveryStagingStaging(API) 'qa' -> 'Choose one of: development, staging, production, recovery.'
RegionالمنطقةTextNoMax 60me-dubai-1
Database classفئة قاعدة البياناتSelectNoSmall (2 vCPU), Medium (4 vCPU), Large (8+ vCPU)SmallMedium
Runtimeبيئة التشغيلTextNoMax 40Python 3.12
Migration headرأس الترحيلRead onlyNoSet when a release is activated here
RPO (minutes)RPO (دقائق)NumberNo1 to 10080; used by the backup gate at Activate144014400 -> 'Choose between 1 and 10080.'
RTO (minutes)RTO (دقائق)NumberNo1 to 1008024024020000 -> 'Choose between 1 and 10080.'
Retention (days)الاحتفاظ (أيام)NumberNo1 to 365030304000 -> 'Choose between 1 and 3650.'
Window dayيوم النافذةSelectYesAny day, Monday ... Sunday (-1 .. 6)Any dayFriday
Window opens (HH:MM)تبدأ النافذةTimeNoHH:MM 00:00-23:59; empty = no window (any time allowed)23:00(API) '25:00' -> 'Give the window's start as HH:MM.'
Window length (minutes)مدة النافذةNumberConditional0 to 1440; must be more than 0 when a start time is set120Start 23:00 with length empty/0 -> 'Say how long the window lasts.'
Time zoneالمنطقة الزمنيةTextYesAn IANA zone, max 40Asia/DubaiAsia/Dubai'Dubai' -> 'Choose a time zone such as Asia/Dubai.'
This server is this environmentهذا الخادم هو هذه البيئةCheckboxNoOnly one environment can be current; ticking it clears it on the othersNoTick on STAGING
Secret references (env:NAME, vault:path)مراجع الأسرارLinesNoMax 30; each env:/vault:/file: + 1-120 of A-Z a-z 0-9 _ . / -; never a valueenv:A2N_DB_PASSWORD'P@ssw0rd!' -> 'A secret is referenced as env:NAME, vault:path or file:path - never written here.'

Environment > Approve

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
ReasonالسببText areaNoMax 1000; kept on the approved versionMatches the runbook

Job record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
CodeالرمزTextYesCreate only; lower-cased; words joined by dots (2-6 parts), max 60; uniquesales.nightly_digest'nightly' -> 'A job code is lower-case words joined by dots, such as sales.nightly_digest.'; duplicate -> 'A job with that code exists.'
NameالاسمTextYesMax 160Nightly digest
HandlerالمعالجSelectYesRegistered handlers only (e.g. Heartbeat, Record latency..., Evaluate alert policies, Check packages for drift, Take an SBOM, Prune, Restore drill, Upgrade rehearsal)Heartbeat (records that the engine runs)(API) 'os.system' -> 'Choose one of the registered handlers.'; empty -> 'This is required.'
ScheduleالجدولةSelectYesOn demand / Every N minutes / Daily at a time / Weekly on a dayOn demandEvery N minutes
Every (minutes)كل (دقيقة)NumberNo1 to 10080; slots aligned to 1 Jan 2026 00:00 UTC60600 -> 'Choose between 1 and 10080.'
At (HH:MM)في (س:د)TimeNoHH:MM wall time in the job's zone (daily / weekly)02:0002:00(API) '2am' -> 'Give the time as HH:MM.'
WeekdayاليومSelectYesMonday (0) ... Sunday (6); weekly schedulesMondaySunday(API) 7 -> 'Choose between 0 and 6.'
Time zoneالمنطقة الزمنيةTextYesIANA zone, max 40Asia/DubaiAsia/Dubai'GST' -> 'Choose a time zone such as Asia/Dubai.'
Timeout (s)المهلة (ث)NumberNo5 to 21600; an overrun is noted on a successful run9009002 -> 'Choose between 5 and 21600.'
Lease (s)الحجز (ث)NumberNo10 to 216003003005 -> 'Choose between 10 and 21600.'
AttemptsالمحاولاتNumberNo1 to 10 (max attempts before dead letter)3311 -> 'Choose between 1 and 10.'
Backoff (s)التأخير (ث)NumberNo1 to 3600; wait = backoff x 2^(attempt-1), capped at 6 h60600 -> 'Choose between 1 and 3600.'
ConcurrencyالتزامنNumberNo1 to 4 runs of this job at once115 -> 'Choose between 1 and 4.'
Payload (JSON, plain values only)الحمولة (JSON)JSONNoAn object, max 4 KB, values text / number / true-false / null only{}{"keep_days": 30}'{abc' -> 'That is not valid JSON.' (screen); {"a": {"b": 1}} -> 'Only plain values: text, numbers, yes / no.'; over 4 KB -> 'Send an object of at most 4 KB.'
Next due / Runs acceptedالاستحقاق التالي / تشغيلات مقبولةRead onlyNoNext slot when enabled; accepted = runs ever accepted

Job > Run now

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
Run key (blank = a new run)مفتاح التشغيل (فارغ = تشغيل جديد)TextNoMax 160; blank mints 'manual:<timestamp>'; the same key twice returns the first runtest-key-1161 characters -> 'Keep this to 160 characters or fewer.'

Restore drills > Run a restore drill

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
BackupالنسخةSelectNoNewest stored backup, or one of the last 50 succeeded backups (shows date, engine, target, 'no fingerprint' when old)Newest stored backupNewest stored backupNo succeeded backup stored -> 'Choose a stored, successful backup.'

Alert policy record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
CodeالرمزTextYesCreate only; capitals, digits, _ and - (2-40, starts with a letter); uniqueQUEUE-LAG-2'q lag' -> 'A code is capitals, digits, _ and -.'; existing -> 'A policy with that code exists.'
NameالاسمTextYesMax 120Queue lag over 5 min
MeasurementالقياسSelectYesp95 request latency (ms), Server error rate (%), Oldest queued job (seconds), Dead-letter jobs, Hours since the last good backup, Failed restore drills (30 days)Oldest queued job (seconds)Dead-letter jobs
WhenعندماSelectYes> , >= , < , <=>>
ThresholdالحدNumberNoAny number between -10^12 and 10^12900300(API) 'abc' -> 'Send a number.'; 1e13 -> 'That threshold is out of range.'
Window (minutes)النافذة (دقائق)NumberNo1 to 144015150 -> 'Choose between 1 and 1440.'
SeverityالخطورةSelectYesInfo / Warning / CriticalWarningCritical
Who answers itمن يتولاهSelectYesOne of the 5 platform roles (in-app only; nobody is emailed)OperatorOperator
Runbookدليل التشغيلText areaNoMax 400Check Job runs for the oldest queued run401 characters -> 'Keep this to 400 characters or fewer.'

Release policy record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
CodeالرمزTextYesCreate only; capitals, digits, _; uniqueSTD'std-1' -> 'A code is capitals, digits and _.'; existing -> 'A policy with that code exists.'
NameالاسمTextYesMax 120; defaults to the codeStandard release
Approvers neededعدد المعتمدينNumberNo1 to 3 different approvers124 -> 'Choose between 1 and 3.'
Rollout batch (%)دفعة النشر (%)NumberNo1 to 100; recorded, not enforced1001000 -> 'Choose between 1 and 100.'
Optional gates this policy asks (one per line: contracts, restore, sbom)البوابات الاختيارية (سطر لكل: contracts, restore, sbom)LinesNoPublished check keys; only contracts, restore and sbom change anything (the others are always asked)sbom
restore
'speed' -> 'Choose from the published checks.'
Applies to tiers (one per line)يطبق على المستوياتLinesNodevelopment / staging / production / recovery; empty = every tierstaging'qa' -> 'Choose from development, staging, production, recovery.'
Recovery plan templateقالب خطة الاستعادةText areaNoMax 4000Forward fix first; restore as a last resort

Flag record

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
KeyالمفتاحTextYesCreate only; lower-cased; words joined by dots (2-6 parts); unique; not in security. auth. authorization. access. permission. period. posting. ledger. audit. approval. tenancy. rls. sod.sales.quick_quote'quickquote' -> 'A flag key is lower-case words joined by dots, such as sales.quick_quote.'; 'posting.skip_lock' -> 'That is a protected control (authorization, periods, posting, audit, approvals or tenancy). It cannot be governed by a feature flag.'; existing -> 'A flag with that key exists.'
NameالاسمTextYesMax 160Quick quote button
TypeالنوعSelectYesCreate only; Yes / no, Text, NumberYes / noYes / no
ScopeالنطاقSelectYesCreate only; Whole workspace / Per companyWhole workspacePer company
Value in force / Waiting for approvalالقيمة النافذة / بانتظار الاعتمادRead onlyNoValue: false / empty / 0 until approved; outside the effective dates the default is in force
Effective fromيسري منDate and timeNoOptional start; local time sent as UTCToday 09:00
Effective toيسري حتىDate and timeNoMust be after Effective fromToday + 30 daysEarlier than Effective from -> 'The end must come after the start.'
Protected control (can only be tightened)تحكم محمي (يُشدّد فقط)CheckboxNoOnce ticked it cannot be unticked; a Yes / no protected flag can never be proposed falseNoTickUntick on a draft and Save -> 'A protected control stays protected.'
DescriptionالوصفText areaNoMax 1000

Flag > Propose a value / Propose a change

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
Value / New valueالقيمة / القيمة الجديدةTextYesYes / no: true or false; Number: any number; Text: max 400true'yes' on a Yes / no flag -> 'A yes / no flag is true or false.'; 'ten' on Number -> 'Send a number.'; false on a protected control -> 'This flag is a protected control: it can be tightened, never switched off.'

Flag > Refuse

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
ReasonالسببText areaYesMax 1000(API) empty -> 'Say why the proposal is refused.'

Flag > Companies tab

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
Company / Valueالشركة / القيمةSelect + textYesPer-company flags only; a company of the workspace; value checked like the flag typeTest Company LLC / trueOn a workspace flag (API) -> 'This flag is set for the whole workspace, not per company.'; false on a protected control -> 'This flag is a protected control: no company may switch it off.'

Advisories > Import OSV advisories

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
OSV JSON (one record, a list, or {"vulns": [...]})OSV JSONText area (JSON)Yes1 to 5000 records; OSV format (affected[].package.ecosystem PyPI/npm, ranges) or plain rows {ref, ecosystem, package, affected, fixed, severity}{"ref": "CVE-2026-0001", "ecosystem": "pypi", "package": "requests", "affected": "<9.0", "severity": "high"}[] -> 'Send OSV records - one, a list of up to 5,000, or {"vulns": [...]}.'; ecosystem 'maven' -> 'pypi or npm.'; no ref -> 'Every advisory has an id (CVE-..., GHSA-..., PYSEC-...).'; severity 'urgent' -> 'low, moderate, high or critical.'

Advisories > Waive

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
Why the risk is acceptedسبب قبول المخاطرةText areaYesMax 1000Not reachable in our deployment
Waiver endsينتهي الإعفاءDate and timeYesMust be in the futureToday + 30 daysYesterday -> 'The waiver must end in the future.'

Platform roles > Grant a role

FieldArabic labelTypeRequiredRules and limitsDefaultExampleRefused when
PersonالشخصSelectYesActive users who are not workspace ownerstest.operator(API) the workspace owner -> 'The workspace owner already holds every platform role.'; inactive -> 'Choose an active person.'
RoleالدورSelectYesOperator, Release manager, Independent approver, Configuration owner, Viewer / auditorOperatorThe same person and role again -> 'That person already holds this role.'