sanitizeContext($context); return $this->auditLogger->log( tenant: $tenant, action: AuditActions::TENANT_ONBOARDING_CREDENTIALS_UPDATED, context: $context, actorId: $actor?->id, actorEmail: $actor?->email, actorName: $actor?->name, resourceType: 'tenant', resourceId: (string) $tenant->getKey(), ); } public function onboardingCompleted(Tenant $tenant, ?User $actor = null, array $context = []): AuditLog { $context = $this->sanitizeContext($context); return $this->auditLogger->log( tenant: $tenant, action: AuditActions::TENANT_ONBOARDING_COMPLETED, context: $context, actorId: $actor?->id, actorEmail: $actor?->email, actorName: $actor?->name, resourceType: 'tenant', resourceId: (string) $tenant->getKey(), ); } /** * @param array $context * @return array */ private function sanitizeContext(array $context): array { $keysToStrip = [ 'secret', 'client_secret', 'app_client_secret', 'app_secret', 'token', 'access_token', 'refresh_token', ]; return Arr::except($context, $keysToStrip); } }