Skip to content

Audit Trail

Rosepetal records every relevant user and system action in a tamper-evident audit trail, providing the traceability and evidence required for audit and regulatory compliance (e.g. 21 CFR Part 11), based on an LDAP/Active Directory authentication architecture and automatic report generation.

1. Executive summary

The architecture is as follows:

  • User authentication is performed through an application login against Client LDAP / Active Directory, avoiding the need to maintain individual Windows users on the Panel PC.
  • The Panel PC Gateway / Auth Service validates credentials against LDAP/AD, retrieves the user's corporate groups and assigns the Rosepetal roles defined by Client.
  • The Rosepetal Controller does not store or validate corporate passwords and does not access LDAP/AD directly.
  • The Panel PC acts as the controlled integration point between the Client network and the internal Rosepetal network. The Rosepetal Controller does not access the Client local network, except through the controlled channel with the Panel PC.
  • The Audit/Event Store on the Panel PC stores auditable events transactionally for traceability, report generation and retry handling.
  • There is no Audit Review Manager with UX. Instead, an Audit & Batch Report Generator Service without a graphical user interface is implemented.
  • Reports are generated automatically in PDF and/or CSV and published to a shared directory defined by Client.
  • The shared folder is managed by Client infrastructure for backup, retention, availability and document review.

Scope note: the solution provides technical controls supporting 21 CFR Part 11 compliance: individual authentication, role_based authorization, audit trail, batch traceability, report integrity, hashes, retention and generation of readable copies. Electronic signature inside Rosepetal is contemplated.

2. Design decisions

AreaDecision
AuthenticationApplication login against Client LDAP/Active Directory server.
Windows usersNo need to create or maintain individual Windows users for each operator on the Panel PC.
Service accountTechnical access to LDAP/AD may be performed using a service account approved by IT, especially for user, group and attribute searches.
Individual userThe individual user identity is obtained from LDAP/AD and recorded in each auditable action.
RolesProfiles are mapped against LDAP/AD groups: Operator, Supervisor, Maintenance/Engineering and Administrator.
Audit ReviewThere is no application with UX for manual audit trail review inside Rosepetal.
ReportsBatch, audit, alarm/incidence and model/recipe reports are generated automatically.
FormatReadable PDF and, if required by Client, additional CSV for electronic processing.
Target folderShared GxP directory defined by Client and integrated with corporate backup/retention.
Electronic signatureNo electronic review signature is implemented inside Rosepetal.
AI integrityVersion/hash control of the AI model and the active recipe is incorporated as evidence of non-alteration.

3. Architecture

Architecture

Separation principle

ElementResponsibility
Panel PCApplication authentication, authorization, audit reception, transactional storage, report generation, publication to the folder and integration control.
Panel PC WindowsClient-managed equipment under IT policies. Provides secure environment, certificates, network permissions, service execution and controlled access to approved resources.
Panel PC Gateway / Auth ServiceManages the application login, validates against LDAP/AD, creates the Rosepetal session, generates access tickets and authorizes access to the controller.
LDAP / Active DirectoryCorporate source of identity, account status, users, groups, profiles and authentication policies.
Role MapperConverts LDAP/AD groups approved by Client into functional permissions in Rosepetal.
Rosepetal ControllerRuns the Rosepetal software, batches, recipes, AI model and communication with cameras/devices. It does not directly access LDAP/AD.
Audit / Event StoreTransactional store of auditable events used for traceability, integrity control, report generation and retries.
Audit & Batch Report GeneratorAutomatic service without UX that generates PDF/CSV reports by batch, inter-batch period, alarms, audit and model/recipe.
Shared directoryFinal document repository for generated reports, managed by Client for backup, retention, access and review.

4. Installed components

4.1 On the Panel PC

ComponentFunction
Panel PC Gateway / Auth ServiceReceives https://panelpc/rosepetal, manages the application login, validates against LDAP/AD and authorizes access to the Rosepetal Controller.
LDAP ConnectorLDAPS connector for user searches, credential validation, group queries and retrieval of attributes approved by IT.
Role MapperMaps Active Directory groups to Rosepetal functional roles: Operator, Supervisor, Maintenance/Engineering and Administrator.
Audit APIReceives audit events sent by the controller; validates origin, session, integrity and format.
Audit / Event StoreProtected local database where auditable events, original payload, normalized event, hashes and publication status are stored.
Audit & Batch Report Generator ServiceAutomatic service without graphical interface that generates batch, audit trail, alarm/incidence and model/recipe reports.
Shared Folder PublisherPublishes files to the shared folder using controlled writing, hash, manifest, retries and result logging.

4.2 On the Rosepetal Controller

ComponentFunction
Rosepetal Controller SoftwareMain Rosepetal software for operation, inspection, batch management, recipes, AI and communication with cameras/devices.
Session clientModule that exchanges the access ticket against the Panel PC Gateway and receives the already authorized identity/privileges.
Audit clientModule that sends audit events to the Panel PC.
Temporary local outboxDurable local queue to prevent event loss if the connection with the Panel PC is temporarily interrupted.
Model / Recipe Integrity ClientModule that reports the AI model version/hash, active recipe and relevant changes for inclusion in the audit trail and reports.

The controller's local outbox is not the official audit repository and does not replace the folder. Its purpose is technical: to retain events pending delivery and resend them to the Panel PC when communication is restored.

5. Main user access flow

The user accesses through the Panel PC, but the individual identity is validated against LDAP/AD from the application. The controller does not authenticate against LDAP and does not receive corporate credentials.

Main user access flow

6. Access ticket rst

The rst ticket is the separation mechanism between corporate authentication and the technical controller-gateway session. It is a random, one-time value generated by the Panel PC Gateway after validating the user in LDAP/AD.

PropertyDescription
Randomness128 or 256 cryptographically generated bits.
One-time useOnce exchanged by the controller, it is marked as used.
Short expiryValidity: 30 to 120 seconds.
Not reusableA used or expired ticket is rejected.
Not a passwordThe ticket only serves to initiate the controller-gateway session. It does not contain or replace the corporate password.
Associated with identityThe gateway associates it with the LDAP/AD user, roles, line, Panel PC, session and expiry.
AuditableTicket issuance, exchange, expiry or rejection is recorded as auditable technical events.

7. Audit generation and storage flow

Audit events are generated in the Rosepetal Controller, because that is where the Rosepetal software runs and operational actions occur. Reception, normalization, transactional persistence and report generation are performed on the Panel PC.

Audit generation and storage flow

Responsibility rule

DataResponsible party
User identityPanel PC Gateway / Auth Service, based on LDAP/Active Directory.
Effective rolePanel PC Role Mapper, based on LDAP/AD groups approved by Client.
Action performed in the Rosepetal softwareRosepetal Controller.
Old value / new valueRosepetal Controller, based on the controlled system state.
Reason for changeUser, captured by the Rosepetal software where applicable.
Transactional recordPanel PC Audit / Event Store.
Document reportPanel PC Audit & Batch Report Generator.
Final GxP archiveShared GxP directory managed by Client.

8. Official audit and report repository

The system uses two layers:

  • Panel PC -> Transactional Audit / Event Store
  • Panel PC -> Report Generator -> Shared GxP directory

The Panel PC Audit / Event Store keeps audit events as the transactional repository and source for automatic generation. The shared directory keeps the generated reports as documentary evidence available for review, backup and retention under Client infrastructure.

The Rosepetal Controller may have a temporary local queue, but it is not considered the official source or the final document archive.

Rationale:

  • The Panel PC is Client-managed and under IT control.
  • The Panel PC has controlled access to the corporate identity context through LDAP/AD.
  • The Panel PC can be integrated with Client backup/restore/archive mechanisms.
  • The audit trail remains available for automatic report generation without directly accessing the controller.
  • The reports are published to a shared folder, facilitating backup, retention and review by Client.
  • The Rosepetal Controller can remain isolated from the Client network.

9. Audit & Batch Report Generator without UX

The system uses an Audit & Batch Report Generator Service without a graphical user interface.

Main functions:

FunctionDescription
Automatic generationGenerates reports without manual intervention at batch closure, during inter-batch periods or on configured events.
Batch ReportGenerates a batch report with batch data, recipe, users, counters, correct units, rejected units, status and critical parameters.
Audit Trail ReportGenerates a report with auditable events, user, date/time, message, batch, event, result and metadata.
Alarm / Incidence ReportGenerates a separate report for alarms, incidences, resets, validations and relevant states.
Recipe / Model Integrity ReportGenerates evidence of active recipe, AI model version, hash and version changes.
PDF exportProduces readable copies for human review and audit.
Optional CSV exportProduces structured data for analysis, filtering or electronic review if required by Client.
Document publicationWrites reports to the shared folder using atomic writing and without overwriting existing files.
RetriesIf the shared folder is unavailable, keeps the report pending and retries publication.
Generation auditRecords successful generation, failure, retry, publication, hash and final location.

Manual queries, interactive filters, periodic review within a screen and electronic review signature in Rosepetal are not included. Report review is performed outside the Rosepetal UX, based on the files published in the Client folder.

10. Automatic Report Generator flow

Automatic Report Generator flow

11. Publication flow to folder

Publication flow to folder

12. Network requirements

InterfaceUse
NIC 1 - Client networkLDAP/Active Directory, corporate policies, certificates, shared folder, backup/archive and services approved by IT.
NIC 2 - Internal Rosepetal networkControlled communication with Rosepetal Controller. It does not act as a general router between networks.
SourceDestinationUse
Local browser / userhttps://panelpc/rosepetalAccess to the Rosepetal application via Gateway.
Panel PC Gateway / Auth ServiceClient LDAP/Active DirectoryUser authentication, attribute search and group reading through LDAPS or an IT-approved mechanism.
Panel PC GatewayRosepetal ControllerProxied/controlled access to the Rosepetal software and rst ticket exchange.
Rosepetal ControllerPanel PC Audit APISending audit events, batch status, alarms, recipe and AI model.
Panel PC Report PublisherShared GxP directoryPublication of PDF/CSV reports, manifest and hash.
Shared GxP directoryClient backup/archiveBackup, restore, retention and archive according to IT/QA policy.

13. Security and access control

Authentication

  • User authentication is performed in the Rosepetal application deployed on the Panel PC.
  • Client LDAP/Active Directory is used as the corporate identity source.
  • Access to LDAP/AD uses LDAPS or an equivalent mechanism approved by IT.
  • The system may use a service account to locate users and query groups/attributes, according to Client policy.
  • The corporate password is not stored, not logged, not sent to the controller and not included in audit events.
  • The Rosepetal Controller does not store or validate corporate passwords.
  • Roles and privileges are derived from LDAP/AD groups or rules approved by Client.

Authorization

  • The Panel PC Gateway determines whether the user has access.
  • The controller receives only an already validated identity and authorized privileges.
  • Actions performed are recorded with the associated individual user.
  • Critical GxP actions are blocked if the user does not have a sufficient role.
  • The permission matrix covers screens, actions, parameters, recipe, model, operation and administration.

Audit

  • The audit trail cannot be disabled from normal operation.
  • Audit events are sent to the Panel PC.
  • If an event cannot be sent temporarily, the controller keeps it in the local outbox until it can be resent.
  • If events cannot be recorded safely, critical GxP operations are blocked or generate an alarm, according to criteria agreed with QA/IT.
  • Report generation, failure, retry and publication are also auditable.
  • Generated reports include a hash or integrity manifest to support subsequent verification.

14. Key decisions

QuestionDecision
Where is the user authenticated?In the Rosepetal application executed from the Panel PC, validating against Client LDAP/Active Directory.
Does the user need to log in individually to Windows?No. Maintaining individual Windows users on the Panel PC is avoided.
Where is the Rosepetal software located?On the Rosepetal Controller, accessible in a controlled way through the Panel PC Gateway.
Does the controller access AD/LDAP?No.
Does the Gateway perform a direct LDAP bind?Yes, from the Panel PC and as approved by IT, for authentication, user search, groups and attributes.
Where is transactional audit stored?In the Panel PC Audit / Event Store.
Where are the official reports stored?In the shared directory defined by Client.
Can the controller have a local database?Yes, but only as a temporary outbox or technical backup, not as the official repository or final document archive.
Where is the audit trail queried/reviewed?Outside Rosepetal, based on the PDF/CSV reports automatically published to the folder.
Where is the audit trail exported?Export is automatic from the Panel PC to the shared directory.
Where is the audit review signed?Out of project scope.
Does the Panel PC route traffic between networks?No. It acts as an application gateway, not as a router.

15. Roles and authorization matrix

Four base profiles are defined and mapped to specific LDAP/AD groups provided by Client.

ProfileIntended useExample permissions
OperatorDaily operation.Login, monitoring, basic operation, batch start/stop if applicable, status visualization and basic acknowledgement of permitted alarms.
SupervisorProduction supervision.Operator permissions, alarm validation, batch status review and controlled actions on batch/recipe according to the matrix.
Maintenance / EngineeringTechnical support and system adjustment.Diagnostics, maintenance, limited technical configuration, functional tests, access to technical logs and permitted parameterization.
AdministratorSystem administration.Configuration management, assignment of permitted parameters, local integration administration, advanced diagnostics and reserved functions.

The permission matrix lists every screen, action and auditable event. This matrix is an important input for FAT/SAT and validation.

16. Auditable events

CategoryEvents
AccessSuccessful login, failed login, logout, expired session, locked user, assigned role, user change.
SessionBatchBatch start, batch end, batch status change, cancellation, pause, restart, active batch change.
RecipeSelection, activation, modification, import/export, version change and critical parameters.
AI ModelModel load, version change, hash calculation, integrity validation, integrity failure.
AlarmsIncidences, alarms activated, alarm reset, alarm validation/acknowledgement, subsystem failures.
OperationMachine start/stop, mode changes, relevant inspection events, rejection, critical confirmations.
ReportsSuccessful generation, failure, retry, publication, hash, file name, folder path.

Audit trail fields

FieldDescription
actionIdImmutable identifier.
actionTypeAccess, session, alarms, operation, reports
roleIdEffective profile in the session.
sourceController, Gateway, Auth Service, Report Service, Publisher or other component.
timestampDate/time with time zone or synchronized time reference.
userIdIndividual LDAP/AD user / contingency user.
Payload
batchIdActive batch, if applicable.
configIdActive recipe identifier, if applicable.
configNameActive recipe name, if applicable.
configVersionActive recipe version, if applicable.
oldValuePrevious value, if applicable.
newValueNew value, if applicable.
diffValuecalculated difference between the previous value and the current value, if applicable.
commentsReason for change, if applicable.
resultSuccess, failed, rejected, blocked, pending, published, if applicable.

17. Reports and format

17.1 Report types

ReportGeneration pointContent
Batch ReportAt batch closure.Batch data, recipe, start/end user, counters, correct/rejected units, critical parameters, AI model and final status.
Audit Trail ReportAt batch closure and/or inter-batch period.Auditable events with user, date/time, action, message, batch, result and metadata.
Alarm / Incidence ReportAt batch closure and/or inter-batch period.Alarms, incidences, resets, validations, alarm status and associated events.
Recipe / Model Integrity ReportOn recipe/model load or change and at batch closure.Recipe, version, critical parameters, AI model, hash, activation date and user.
Report Generation LogFor each generation/publication.File name, path, hash, timestamp, trigger, result, errors and retries.

17.2 Batch Report

The Batch Report follows the pattern observed in the Client examples and includes at least:

  • Report title.
  • Machine / line / controller identification.
  • Batch code.
  • Reference / product / description.
  • Recipe name.
  • Recipe version.
  • Start batch time/date.
  • Start batch user.
  • End batch time/date.
  • End batch user.
  • Report generated by.
  • Report generation date/time.
  • Total units processed/fed.
  • Total correct units.
  • Total rejected units.
  • Rejection counters by category.
  • Batch status.
  • AI model ID, version and hash.
  • Critical recipe/process parameters at batch start and batch end, where applicable.

17.3 Audit Trail Report

The Audit Trail Report includes:

  • Service or user generating the report.
  • Generation date/time.
  • Applied filter: batch, time range or inter-batch period.
  • Event table.
  • User.
  • Date/time.
  • Message.
  • Event type.
  • Result.
  • Batch identification.
  • Recipe/model reference if applicable.

17.4 Naming convention

<SITE>_<LINE>_<MACHINE>_<BATCH>_<REPORT_TYPE>_<YYYYMMDD_HHMMSS>_<HASH8>.pdf

Examples:

Client_IE_ROSEPETAL_A04K150293_BATCH_20260511_111331_A1B2C3D4.pdf
Client_IE_ROSEPETAL_A04K150293_AUDIT_20260511_111302_F9E8D7C6.pdf
Client_IE_ROSEPETAL_A04K150293_ALARMS_20260511_111302_91AB34EF.csv

17.5 Publication requirements

  • Write access limited to the authorized service.
  • Read access according to Client policy.
  • Record of each generated file.
  • SHA-256 hash per file.
  • Atomic write mechanism: generate temporary file, validate hash and rename to final name.
  • Controlled retries if the directory is unavailable.
  • Alarm/event if a report cannot be published within the agreed time.
  • No overwriting of already generated reports.
  • Versioning by file name, timestamp and hash.

18. AI model and recipe integrity control

Because Rosepetal uses AI models, explicit evidence of model and recipe integrity is provided.

ElementEvidence
AI ModelModel ID, version, training date, deployment date and SHA-256 hash of the model file.
RecipeRecipe ID, version, critical parameters, user who activates it and date/time.
Dataset / training packageReference to dataset, training package or validated evidence where applicable.
Model changeAudited event with user, previous model, new model, previous hash and new hash.
Batch closureThe report indicates which model and recipe were active during the batch.
Subsequent verificationThe hash allows demonstration that the model used has not been modified with respect to the validated version.

19. Implementation phases

Phase 1 — Functional analysis and specification

  • Architecture review with Client IT.
  • LDAP/AD definition: server, LDAPS, base DN, filters, attributes and groups.
  • Roles and permissions matrix.
  • Auditable events specification.
  • PDF/CSV report specification.
  • Naming, hash and folder publication specification.

Phase 2 — LDAP authentication development

  • Application login.
  • LDAPS connector.
  • Credential validation.
  • Group/attribute retrieval.
  • Role mapping.
  • Session management.
  • Technical logs and login audit trail.

Phase 3 — Audit trail development

  • Event data model.
  • Audit API.
  • Normalization of events from the controller.
  • Local outbox on the controller.
  • Retries and receipt acknowledgement.
  • System, batch, alarm, recipe and model events.

Phase 4 — Report Generator Service

  • Automatic service without UX.
  • Batch Report generation.
  • Audit Trail Report generation.
  • Alarm/Incidence Report generation.
  • Recipe/Model Integrity Report generation.
  • PDF export.
  • Optional CSV export.
  • File hash.
  • Publication to shared folder.

Phase 5 — Shared folder integration

  • Shared path configuration.
  • Write permissions.
  • Atomic writing.
  • Retries.
  • Error handling.
  • Publication logging.
  • Unavailability and recovery tests.

Phase 6 — Validation and documentation

  • Technical documentation.
  • Requirements matrix.
  • Traceability matrix.
  • FAT/SAT test cases.
  • Test evidence.
  • Support for QA/IT review.

20. Client dependencies

DependencyRequired detail
LDAP/AD serverURL/IP, port, domain, LDAPS and availability.
CertificatesRoot/intermediate certificate required for LDAPS, if applicable.
Base DNBase DN for user and group search.
User filterLDAP filter to locate and authenticate users.
AttributesUsername, display name, email, groups, account status and other required attributes.
AD groupsGroups for Operator, Supervisor, Maintenance/Engineering and Administrator.
Session policyExpiry, lockout, login retries and inactivity timeout.
Directory pathShared directory path.
PermissionsWrite permissions for the service and read/review permissions for Client.
Final formatConfirmation of PDF, CSV or both.
HashConfirmation of whether the hash must be visible in the PDF, in a sidecar manifest or both.
NamingConfirmation of final report naming convention.

21. Out of scope

  • Electronic review signature.
  • Audit review user interface.
  • Local user management independent from LDAP/AD.
  • Full Active Directory administration.
  • Backup and availability of audit files.
  • External document repository such as DMS/eQMS.

22. Annex 1: Audit Event Catalog

Action TypeAction ID
accessaccess_login_success ()
access_login_failed (
)
access_logout ()
access_session_expired (
)
access_role_not_assigned (*)
actionsbypass_activate
bypass_deactivate
conveyor_activate
conveyor_deactivate
loglog_start
log_stop
log_show_errors
log_image_upload
capturecapture_start
capture_stop
capture_start_upload
capture_stop_upload
capture_remove_images
alarmsalarm_detected
alarm_reset
operationoperation_machine_start
operation_machine_stop
operation_software_restart
reportsreport_failure (*)
sessionsession_batch_start
session_batch_stop
session_batch_restart
session_recipe_creation
session_recipe_deletion
session_recipe_rename
session_recipe_model_change
session_recipe_modification
session_recipe_import
session_recipe_export
session_recipe_version_change
session_ai_model_load
session_ai_model_version_change
session_ai_model_hash_calculation

(*) Generated on Panel PC

23. Annex 2: Permissions Catalog

Permission Types
bypass_activate
bypass_deactivate
conveyor_activate
conveyor_deactivate
log_start
log_stop
log_show_errors
log_image_upload
capture_start
capture_stop
capture_start_upload
capture_stop_upload
capture_remove_images
alarm_reset
operation_machine_stop
operation_software_restart
session_batch_start
session_batch_stop
recipe_creation
recipe_deletion
recipe_batch_deletion
recipe_batch_nok
recipe_rename
recipe-read
recipe_model_change
recipe_rule_creation
recipe_rule_deactivation
recipe_rule_activation
recipe_element_creation
recipe_element_removal
recipe_element_classname_change
recipe_presence_source_selection
recipe_rule_rename
recipe_rule_change