ObjectStackObjectStack

Training

Training protocol schemas

Information Security Training Protocol — ISO 27001:2022 (A.6.3)

Defines schemas for security awareness and training management including

course definitions, completion tracking, and organizational training plans.

@see https://www.iso.org/standard/27001

@category Security

Source: packages/spec/src/system/training.zod.ts

TypeScript Usage

import { TrainingCategory, TrainingCompletionStatus, TrainingCourse, TrainingPlan, TrainingRecord } from '@objectstack/spec/system';
import type { TrainingCategory, TrainingCompletionStatus, TrainingCourse, TrainingPlan, TrainingRecord } from '@objectstack/spec/system';

// Validate data
const result = TrainingCategory.parse(data);

TrainingCategory

Allowed Values

  • security_awareness
  • data_protection
  • incident_response
  • access_control
  • phishing_awareness
  • compliance
  • secure_development
  • physical_security
  • business_continuity
  • other

TrainingCompletionStatus

Allowed Values

  • not_started
  • in_progress
  • completed
  • failed
  • expired

TrainingCourse

Security training course definition

Properties

PropertyTypeRequiredDescription
idstringUnique course identifier
titlestringCourse title
descriptionstringCourse description and learning objectives
categoryEnum<'security_awareness' | 'data_protection' | 'incident_response' | 'access_control' | 'phishing_awareness' | 'compliance' | 'secure_development' | 'physical_security' | 'business_continuity' | 'other'>Training category
durationMinutesnumberEstimated course duration in minutes
mandatorybooleanWhether training is mandatory
targetRolesstring[]Target roles or groups
validityDaysnumberoptionalCertification validity period in days
passingScorenumberoptionalMinimum passing score percentage
versionstringoptionalCourse content version

TrainingPlan

Organizational training plan per ISO 27001:2022 A.6.3

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable training management
coursesObject[]Training courses
recertificationIntervalDaysnumberDefault recertification interval in days
trackCompletionbooleanTrack training completion for compliance
gracePeriodDaysnumberGrace period in days after certification expiry
sendRemindersbooleanSend reminders for upcoming training deadlines
reminderDaysBeforenumberDays before deadline to send first reminder

TrainingRecord

Individual training completion record

Properties

PropertyTypeRequiredDescription
courseIdstringTraining course identifier
userIdstringUser identifier
statusEnum<'not_started' | 'in_progress' | 'completed' | 'failed' | 'expired'>Training completion status
assignedAtnumberAssignment timestamp
completedAtnumberoptionalCompletion timestamp
scorenumberoptionalAssessment score percentage
expiresAtnumberoptionalCertification expiry timestamp
notesstringoptionalTraining notes or comments

On this page