ruvnet/ruflo · error · QESecurityError

PII detection failed

Error message

PII detection failed

What it means

detectPII() threw while running its PII regex patterns over the content (invalid pattern, engine error) — not 'PII was found', which is a normal return of detections. The catch logs and re-raises wrapped, so detection failures are distinguishable from positive findings.

Source

Thrown at v3/plugins/agentic-qe/src/bridges/QESecurityBridge.ts:357

        let match: RegExpExecArray | null;
        while ((match = pattern.exec(content)) !== null) {
          detections.push({
            type,
            location: {
              start: match.index,
              end: match.index + match[0].length,
            },
            confidence: this.calculatePIIConfidence(type, match[0]),
            redactedValue: this.redactPII(type, match[0]),
          });
        }
      }

      this.logger.info(`Found ${detections.length} PII instances`);
      return detections;
    } catch (error) {
      this.logger.error('PII detection failed', error);
      throw new QESecurityError('PII detection failed', error as Error);
    }
  }

  /**
   * Validate input against security schemas
   */
  async validateInput<T>(
    input: unknown,
    schema: string
  ): Promise<{ valid: boolean; errors?: string[]; value?: T }> {
    try {
      this.logger.debug(`Validating input against schema: ${schema}`);

      const result = this.security.inputValidator.validate<T>(input, schema);

      if (!result.valid) {
        this.logger.warn(`Input validation failed: ${result.errors?.join(', ')}`);
      }

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Check the PII detection model/service health and input encoding; retry after validating the input payload.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at v3/plugins/agentic-qe/src/bridges/QESecurityBridge.ts:357 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/d2de30445c49a039. Report an issue: GitHub.