ZelSafe Audit MethodologyRocheston · Internal Technical Notes
🔒 Internal
Rocheston · ZelSafe · Owner Reference

Internal Audit Methodology

Local Evidence · Watch Sync · Audio + Quiz Completion Rule

How ZelSafe builds an audit trail without a server.

Owner-facing technical notes explaining how ZelSafe records local cybersecurity training activity, computes readiness metrics, synchronizes Apple Watch learning evidence, and produces auditable compliance reports without collecting user data on external servers.

ScopeiPhone + Apple Watch
StorageLocal device state
TransportWatchConnectivity
Audio + QuizThe dual-evidence completion rule
/ 01

Executive summary

ZelSafe is a self-directed cybersecurity awareness application. Its audit record documents user interaction with training cards, audio completion, quiz results, module readiness, and generated compliance reports. The audit mechanism is intentionally local-first: the app does not require a backend service to create or maintain the learner record.

What the record is

A local evidence trail generated from app events on the user device. A card is marked completed only when the local record contains both audio completion and quiz-completion evidence for that same card. Card viewing and study time remain supporting engagement evidence and do not complete a card by themselves.

What the record is not

The audit record is not a claim that a human identity was independently verified by ZelSafe. It is a device-local training evidence record, not a proctored exam transcript or an independently identity-verified credential.

📌

Compliance posture: card completion requires both audio-completion evidence and card quiz-completion evidence. Module completion requires every current card in the module to satisfy that rule together with module/category quiz pass evidence. Viewing or study time alone never marks a card completed or a module passed.

/ 02

Audit data sources

Data SourceMeaningHow It Is CreatedAudit Use
viewedCardIdsSet of card identifiers opened or credited as viewed.Recorded when a card opens on iPhone or when iPhone receives watch study activity for that card.Engagement and card-coverage evidence only. A viewed card is not automatically a completed card.
cardAuditLogsPer-card local audit log containing category name, total seconds, completion/pass date, and completion/pass flag.Created or updated when study time is recorded or when the audio-plus-quiz completion rule updates card evidence.Audited study time, per-module time aggregation, card status evidence, and export evidence.
audioCompletedCardIdsSet of cards whose audio lesson reached completion on iPhone or Apple Watch.Recorded when iPhone audio finishes, or when watch audio finishes and syncs to iPhone.One required half of card-completion evidence. Audio completion alone never completes a card.
quizResultsImmutable quiz-attempt records with card association and answer-level correctness.Saved after a card quiz or module/category quiz is completed.Card quiz-completion evidence, mastery calculations, module/category pass evidence, and question-level proof. A quiz alone never completes a card.
Derived card statusA current card is completed only when its identifier has both audio-completion evidence and a completed card-quiz record.Recalculated whenever audio-completion or quiz-completion evidence changes.Completed-card totals, module readiness, report calculations, and certificate calculations.
passedCategoryDatesCategory/module pass timestamp.Written when a category quiz reaches the passing score.Module assessment evidence and pass timestamp. A module is reported as passed only when all current cards are also completed.
/ 03

Event flow: iPhone card audit

1 · Resolve
When a card viewer appears, the app resolves the active card by card id.
2 · Mark viewed
The card is marked viewed immediately so coverage reflects that the training object was opened. This does not mark the card completed.
3 · Start timer
A local timer starts with the current device time.
4 · Pause
The timer pauses when the user leaves the card, switches cards, opens a sheet, returns home, or the app moves inactive/background.
5 · Record seconds
Elapsed seconds are rounded down to whole seconds and capped at 300 seconds per active viewing segment, then added to the matching cardAuditLogs entry.
6 · Audio evidence
When the card audio reaches the end, the app records audio-completion evidence for that card. Audio completion alone does not complete the card.
7 · Quiz evidence
When the card quiz is completed, the app stores the quiz attempt and associates quiz-completion evidence with that card. Quiz completion alone does not complete the card.
8 · Evaluate
After either event, the app evaluates both requirements. The card is marked completed only when audio completion and quiz completion exist for the same card.
9 · Recalculate
If either required record is removed or reset, the app recalculates the card and removes completed status unless both requirements remain satisfied.
⏱️

The 300-second cap is a data-quality control. It prevents long idle sessions from creating unrealistic study-time evidence while still allowing legitimate repeated sessions to accumulate over time.

/ 04

Event flow: Apple Watch audit

The Apple Watch app has a reduced interaction model. It records card listening and viewing, but it does not independently satisfy the card quiz requirement. Watch activity is synchronized to iPhone, where the app combines watch audio evidence with the matching card quiz record.

1 · Open
When a watch card opens, the watch starts a local active-view timer.
2 · Pause
When the user changes cards, closes the viewer, or the watch app becomes inactive/background, the watch pauses the timer.
3 · Cap
The watch caps each viewing segment at 300 seconds and rounds down to whole seconds.
4 · Send time
The watch sends the card id and elapsed seconds to iPhone through WatchConnectivity.
5 · Audio event
When watch audio finishes, the watch sends an audio-completion event. It does not send an unconditional card-completion event.
6 · Recalculate
iPhone records the audio evidence and recalculates the card. The card becomes completed only when a completed quiz record already exists for the same card.
7 · Removal
If the user removes the watch audio-completion state, the watch sends an audio-completion removal event and iPhone recalculates the card status.

A watch audio badge means the audio lesson was completed. It is not a completed-card badge by itself. Final card completion still requires the corresponding quiz to be completed.

/ 05

WatchConnectivity reliability & de-duplication

WatchConnectivity provides multiple delivery paths. ZelSafe uses them for reliability: immediate messaging when reachable, application context for latest state, and user info transfer for queued delivery. Because the same payload can arrive through more than one callback, audio-state updates are safe by nature because they write to sets, and derived card-completion status is recalculated from audio and quiz evidence — but study-time updates require additional protection because seconds are additive.

Implemented protection

Unique event id
Each watch audit payload includes a unique eventId.
Processed cache
iPhone stores recently processed watch audit event ids in local user defaults.
Duplicate ignore
If the same eventId arrives again, iPhone ignores the study-time portion.
Bounded cache
The processed-event cache is bounded to recent events to prevent unbounded local growth.
Idempotent sets
Audio completion and audio-removal updates remain safe because they are idempotent set operations; derived card status is then recalculated.

This prevents duplicate study seconds when WatchConnectivity delivers the same watch event through multiple callbacks.

/ 06

Module readiness rules

Module readiness is computed from current content categories and current card identifiers. This prevents old or removed cards from inflating current catalog reports. For readiness calculations, a card counts as completed only when both its audio lesson and card quiz are completed.

🎧Audio completedThe audio brief reached the end
+AND
Card quiz completedThe related quiz record exists
ONLY THEN
Card completedNeither condition is sufficient by itself
StatusRuleCompliance Meaning
Not StartedNo viewed cards, study time, audio completion, quiz completion, or module pass evidence.No local training evidence exists for the module.
In ProgressAny viewing, study time, audio, quiz, or pass-related evidence exists, but at least one current card is missing audio completion or quiz completion, or the module/category quiz has not passed.The learner has activity but has not satisfied the complete card-and-assessment rule.
PassedEvery current card in the module has both audio-completion and card quiz-completion evidence, and module/category quiz pass evidence exists.The module has complete learning-object coverage plus assessment evidence.
/ 07

Report & certificate calculations

Core calculations

Total Cards Completed
Count of current catalog card ids that have both audio-completion evidence and a completed card-quiz record.
Audited Study Time
Sum of totalSecondsSpent from cardAuditLogs for current module card ids.
Modules Passed
Count of modules where every current card satisfies the audio-plus-quiz completion rule and module/category pass evidence exists.

Export contents

The PDF and JSON export use the same module summaries. The completed-card value is calculated from the audio-plus-quiz rule, not from card views alone. The export includes module id, module name, completed cards, total cards, time spent seconds, status, and pass timestamp when applicable.

🔏

Local signature: the audit export includes a local HMAC-based signature over selected report fields — a tamper-evidence mechanism for the generated export payload. It is not a server-backed notarization and should not be represented as independent third-party verification.

/ 08

Data quality controls

Segment cap
Study time is capped at 300 seconds per active viewing segment.
Whole-second floor
Fractional seconds are rounded down, never rounded up.
Current catalog filtering
Report totals are computed against current card ids.
Set-based evidence
Viewed-card and audio-completion identifiers are stored as sets to avoid duplicate counts.
Immutable quiz evidence
Quiz attempts preserve answer-level records rather than overwriting the audit history.
Dual-evidence completion
A card is completed only when both audio completion and quiz completion exist for the same current card.
Module gating
A module is passed only when all current cards are completed and module/category pass evidence exists.
Watch de-duplication
Additive watch study seconds require a unique event id before being accepted.
Lifecycle pausing
iPhone and watch pause timing when inactive or backgrounded.
No completion from engagement
Viewing and study time do not complete a card or pass a module.
/ 09

Privacy & data collection boundary

ZelSafe's audit record is stored locally on the device using local app storage. Watch audit events are sent only between the user's watch app and iPhone app using Apple's WatchConnectivity framework.

No backend required

The audit system does not require a backend account, remote tracking endpoint, analytics service, or external database. A user may choose to export or share a generated PDF/JSON report; that user-initiated export is separate from automatic data collection.

Compliance phrasing

"ZelSafe records training evidence locally on the user's device and generates user-controlled reports. ZelSafe does not collect this audit record on a server."

/ 10

Known limitations & correct interpretation

Auditors should treat the report as a device-local training evidence record, not as a proctored exam transcript or independently identity-verified credential.

  • Device time is used for local timestamps. If the device clock is wrong, local timestamps can reflect that condition.
  • Study time means active app view time for a card segment. It does not prove continuous visual attention and does not complete the card.
  • Opening or viewing a card creates engagement evidence only; it is not card-completion evidence.
  • Apple Watch audio completion indicates that the watch app reached the end of the audio lesson. The card remains incomplete until its quiz is also completed.
  • Quiz completion without audio completion also leaves the card incomplete.
  • Deleting app data or resetting score data removes local evidence unless the user previously exported a report.
  • The local report signature is tamper-evident for the generated payload, not a remote notarization.
/ 11

Auditor review checklist

  • Confirm the report date and learner-entered profile fields.
  • Review total cards completed against total current cards available.
  • For sampled cards, confirm that completed status is supported by both audio-completion evidence and a completed card-quiz record.
  • Review each module status and ensure passed modules contain only completed current cards together with module/category pass evidence and a pass timestamp.
  • Review audited study time as supporting evidence, not as a card- or module-completion criterion.
  • Review quiz results and module pass dates as assessment evidence.
  • Confirm whether the report was user-exported locally or delivered through a managed enterprise workflow.
/ 12

Plain-language compliance statement

ZelSafe creates a local audit trail from card openings, timed study sessions, audio completions, and quiz results. A card is counted as completed only when local records show both audio completion and quiz completion for that same current card. Card viewing and study time show engagement but do not complete the card. Module readiness and exported reports apply this completed-card rule together with module/category pass evidence. Apple Watch activity is synchronized to the paired iPhone with duplicate-event protection; watch audio contributes the audio requirement but cannot complete a card without its quiz.

Internal owner reference. This document describes app behavior and audit logic so the implementation can be explained consistently; it is not legal advice and does not independently certify regulatory compliance.

Local evidence. Dual-proof completion.

Audio plus quiz — recorded on the device, explained consistently, exported only when the user chooses.