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 also: https://www.iso.org/standard/27001

@category Security

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

TypeScript Usage

import { TrainingCategorySchema, TrainingCompletionStatusSchema, TrainingCourseSchema, TrainingPlanSchema, TrainingRecordSchema } from '@objectstack/spec/system';
import type { TrainingCategory, TrainingCompletionStatus, TrainingCourse, TrainingPlan, TrainingRecord } from '@objectstack/spec/system';

// Validate data
const result = TrainingCategorySchema.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' | … +3 more>Training category
durationMinutesnumberEstimated course duration in minutes
mandatorybooleanoptional (default: false)Whether training is mandatory
targetRolesstring[]Target roles or groups
validityDaysnumberoptionalCertification validity period in days
passingScorenumberoptionalMinimum passing score percentage
versionstringoptionalCourse content version

Allowed Values: TrainingCourse.category

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

TrainingPlan

Organizational training plan per ISO 27001:2022 A.6.3

Properties

PropertyTypeRequiredDescription
enabledbooleanoptional (default: true)Enable training management
courses{ id: string; title: string; description: string; category: Enum<'security_awareness' | 'data_protection' | 'incident_response' | …>; … }[]Training courses
recertificationIntervalDaysnumberoptional (default: 365)Default recertification interval in days
trackCompletionbooleanoptional (default: true)Track training completion for compliance
gracePeriodDaysnumberoptional (default: 30)Grace period in days after certification expiry
sendRemindersbooleanoptional (default: true)Send reminders for upcoming training deadlines
reminderDaysBeforenumberoptional (default: 14)Days before deadline to send first reminder

Nested Shape: TrainingPlan.courses[number]

Security training course definition

PropertyTypeRequiredDescription
idstringUnique course identifier
titlestringCourse title
descriptionstringCourse description and learning objectives
categoryEnum<'security_awareness' | 'data_protection' | 'incident_response' | …>Training category
durationMinutesnumberEstimated course duration in minutes
mandatorybooleanoptional (default: false)Whether training is mandatory
targetRolesstring[]Target roles or groups
validityDaysnumberoptionalCertification validity period in days
passingScorenumberoptionalMinimum passing score percentage
versionstringoptionalCourse content version

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